集成非常简单,直接按Module形式导入 sdk 即可
下载完成解压以后直接导入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)
主要用作学习记录