Android

关注公众号 jb51net

关闭
首页 > 软件编程 > Android > Android OpenCv4 多边形

Android OpenCv4 绘制多边形的方法

作者:Best-dadong

最近在学习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 多边形内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文