最近在学习OpenCv,正好今天用Android做一个demo,本文主要介绍了Android OpenCv4 绘制多边形的方法,感兴趣的可以一起来了解一下
集成非常简单,直接按Module形式导入 sdk 即可
官方地址,打开选择Android
下载完成解压以后直接导入OpenCV-android-sdk目录下的sdk文件即可。
绘制矩形
方法
/**
img 输入图像
pt1 左上起点
pt2 右下终点
color 绘制直线的颜色
thickness 直线宽度。若为负值,表示填充
lineType 边界的类型,可取值为FILLED ,LINE_4 ,LINE_8 和LINE_AA
shift 点坐标中的小数位数
**/
public static void rectangle(Mat img, Point pt1, Point pt2, Scalar color, int thickness, int lineType, int shift)
使用
private void renderRectangle(Mat source) {
Point leftTop = new Point(100, 100);
Point rightBottom = new Point(500, 300);
Imgproc.rectangle(source, leftTop, rightBottom, new Scalar(0.0, 0.0, 255.0), 10);
showMat(source);
}
private void showMat(Mat source) {
Bitmap bitmap = Bitmap.createBitmap(source.width(), source.height(), Bitmap.Config.ARGB_8888);
Utils.matToBitmap(source, bitmap);
mIvSrc.setImageBitmap(bitmap);
source.release();
}
下面几个可以自己试试
绘制直线
/**
img 输入图像
pt1 起点
pt2 终点
color 绘制直线的颜色
thickness 直线宽度
lineType 边界的类型,可取值为FILLED ,LINE_4 ,LINE_8 和LINE_AA
shift 点坐标中的小数位数
**/
public static void line(Mat img, Point pt1, Point pt2, Scalar color, int thickness, int lineType, int shift)
绘制多边形
/**
img 输入图像
pts 多边形端点坐标 list<point>
isClosed 是否闭合
color 绘制直线的颜色
thickness 直线宽度
lineType 边界的类型,可取值为FILLED ,LINE_4 ,LINE_8 和LINE_AA
shift 点坐标中的小数位数
**/
public static void polylines(Mat img, List<MatOfPoint> pts, boolean isClosed, Scalar color, int thickness, int lineType, int shift)
绘制圆形
/**
img 输入图像
center 圆心坐标
radius 圆半径
color 绘制直线的颜色
thickness 直线宽度 若为负值,表示填充
lineType 边界的类型,可取值为FILLED ,LINE_4 ,LINE_8 和LINE_AA
shift 点坐标中的小数位数
**/
public static void circle(Mat img, Point center, int radius, Scalar color, int thickness, int lineType, int shift)
绘制椭圆
/**
img 输入图像
center 椭圆心坐标
axes 椭圆长轴短轴半径
angle 椭圆旋转的角度
startAngle 椭圆弧起始角度
endAngle 椭圆弧终止角度
color 绘制直线的颜色
thickness 直线宽度 若为负值,表示填充
lineType 边界的类型,可取值为FILLED ,LINE_4 ,LINE_8 和LINE_AA
shift 点坐标中的小数位数
**/
public static void ellipse(Mat img, Point center, Size axes, double angle, double startAngle, double endAngle, Scalar color, int thickness, int lineType, int shift)
绘制文字
/**
img 输入图像
text 文字内容
org 文本字符串的左下角位置
fontFace 字体类型
fontScale 字体大小
color 绘制直线的颜色
thickness 直线宽度 若为负值,表示填充
lineType 边界的类型,可取值为FILLED ,LINE_4 ,LINE_8 和LINE_AA
bottomLeftOrigin 如果为true,则图像数据原点位于左下角。否则,位于左上角
**/
public static void putText(Mat img, String text, Point org, int fontFace, double fontScale, Scalar color, int thickness, int lineType, boolean bottomLeftOrigin)
到此这篇关于Android OpenCv4 绘制多边形的方法的文章就介绍到这了,更多相关Android OpenCv4 多边形内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
沃梦达教程
本文标题为:Android OpenCv4 绘制多边形的方法
猜你喜欢
- 最好用的ios数据恢复软件:PhoneRescue for Mac 2023-09-14
- Android实现轮询的三种方式 2023-02-17
- Android实现监听音量的变化 2023-03-30
- 详解flutter engine 那些没被释放的东西 2022-12-04
- 作为iOS开发,这道面试题你能答出来,说明你基础很OK! 2023-09-14
- Android studio实现动态背景页面 2023-05-23
- SurfaceView播放视频发送弹幕并实现滚动歌词 2023-01-02
- Flutter实现底部和顶部导航栏 2022-08-31
- Android MaterialButton使用实例详解(告别shape、selector) 2023-06-16
- iOS 对当前webView进行截屏的方法 2023-03-01
