Android OpenCv4 多边形 Android OpenCv4 绘制多边形的方法

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Android OpenCv4 多边形 Android OpenCv4 绘制多边形的方法

Best-dadong   2021-05-18 我要评论
想了解Android OpenCv4 绘制多边形的方法的相关内容吗,Best-dadong在本文为您仔细讲解Android OpenCv4 多边形的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Android,OpenCv4,多边形,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)

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们