温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android OpenCv4如何绘制多边形

发布时间:2021-05-18 15:02:14 来源:亿速云 阅读:144 作者:小新 栏目:开发技术

这篇文章主要介绍了Android OpenCv4如何绘制多边形,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

集成非常简单,直接按Module形式导入 sdk 即可

官方地址,打开选择Android

Android OpenCv4如何绘制多边形

下载完成解压以后直接导入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();
    }

Android OpenCv4如何绘制多边形

下面几个可以自己试试

绘制直线

/**
 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是什么

Android是一种基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。

感谢你能够认真阅读完这篇文章,希望小编分享的“Android OpenCv4如何绘制多边形”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI