在之前的博客中,关于通过Canvas配合Paint绘图保存在Bitmap上,最后展示在ImageView上,我还专门做了一个画图释义的Demo,具体请转至我用2D绘图API画了一只好丑的鸡,Canvas配合MotionEvent实现画板功能查看。具体就来介绍一下如何通过OpenCV4Android提供的API绘制这些基本形状并保存至Mat对象,然后转化为Bitmap在ImageView上显示出来。
1,绘图API
当前在Mat上绘图的实现在Imgproc模块中,那我们就来看看这个模块究竟有哪些关于绘制基本图形的接口。这里我想声明一下,因为其方法数量实在太多,这里不全都列举,只给出几个和今天介绍相关的接口方法;还有就是该类中的所有方法均为static方法。
- 画圆:
static void |
circle(Mat img, Point center, int radius, Scalar color) |
static void |
circle(Mat img, Point center, int radius, Scalar color, int thickness) |
static void |
circle(Mat img, Point center, int radius, Scalar color, int thickness, int lineType) |
static void |
circle(Mat img, Point center, int radius, Scalar color, int thickness, int lineType, int shift) |
其中:
img:表示接收绘制信息的Mat对象
center:圆心坐标(单位像素)
radius:半径(单位像素)
color:颜色对象
thickness:线条粗细
lintType:线条类型
shift:位置偏移
- 画椭圆
static void |
ellipse(Mat img, Point center, Size axes, double angle, double startAngle, double endAngle,Scalar color) |
static void |
ellipse(Mat img, Point center, Size axes, double angle, double startAngle, double endAngle,Scalar color, int thickness) |
static void |
|