【第三节】OpenCV中的绘图函数
目标
学习使用OpenCV绘制不同的几何图形
你将会学习使用到这些函数: CV2.line(),CV2.circle(),CV2.rectangle(),CV2.ellipse(),CV2putText()等。
参数
上面所有的绘图函数都需要设置下面的这些参数:
img:你想要绘制图形的那副图像。
color:形状的颜色。以RGB为例,需要传入一个元组,例如:(255,0,0)代表蓝色。对于灰度图像只需要传入灰度值。
thickness:线条的粗细。如果给一个闭合图形设置为-1,那么这个图形就会被填充。默认值是1。
linetype:线条的类型,8连接抗锯齿。默认情况是8连接。
1、画线
要画一条线,你只要告诉函数这条线的起点和终点。我们下面会画一条从左上方到右下方的蓝色线段。
2、画矩形
要画一个矩形,你需要告诉函数的左上角顶点和右下角顶点的坐标。这次我们会在图像的右上角画一个绿色的矩形。
3、画圆
要画圆的话,只需要指定圆形的中心点坐标和半径大小。我们在上面的矩形中画一个圆。
4、画椭圆
画椭圆比较复杂,我们要多输入几个参数。一个参数是中心点的位置坐标。下一个参数是长轴和短轴的长度。椭圆沿逆时针方向旋转的角度。椭圆弧沿顺时针方向起始的角度和结束角度,如果是0跟360,就是整个椭圆。查看CV2.ellipse()可以得到更多信息。下面的例子是在图片的中心绘制半个椭圆。
5、画多边形
画多边形,需要指定每个顶点的坐标。用这些点的坐标构建一个大小等于行数X1X2的数组,行数就是点的数目。这个数组的数据类型必须为int32。这里画一个黄色的具有四个顶点的多边形。
注意:如果第三个参数是False,我们得到的多边形是不闭合的
注意:CV2.polylines()可以被用来画很多条线。只需要把想要画的线放在一个列表中,将这个列表传给函数就可以了。每条线都会被独立绘制。这会比用CV2.line()一条一条的绘制要快一些。
6、在图片上添加文字
要在图片上绘制文字,你需要设置下列参数:
你绘制的文字
你要绘制的位置
字体类型(通过查看CV2.putText()的文档找到支持的字体)
字体的大小
文字的一般属性如颜色、粗细、线条的类型等。为了更好看一点推荐使用linetype=CV2.LINE_AA。
在图像上绘制白色的OpenCV。
警告:所有的绘图函数的返回值都是None,所以不能使用img=CV2.line(img,(0,0),(511,511),(255,0,0),5)
结果
下面就是最终结果了,通过前面学到的知识把它显示出来吧!
