一、学习目标
了解如何使用line方法了解如何使用rectangle方法了解如何使用ellipse方法目录
「pythonopencv计算机视觉零基础实战」第一节
「pythonopencv视觉入门到实战」二、格式与摄像头
「pythonopencv视觉入门到实战」三、图像编辑
「pythonopencv视觉入门到实战」第四节色彩空间
「pythonopencv视觉入门到实战」五、对象追踪
「pythonopencv视觉零基础到实战」六、图像运算
「pythonopencv视觉零基础实战」七逻辑运算应用
「pythonopencv视觉零到实战」八、图片选区操作
「pythonopencv计算机视觉零基础到实战」九模糊
「pythonopencv视觉零基础」十、图片效果毛玻璃
「pythonopencv视觉零基础」十一、指定内容查找
「pythonopencv视觉零基础」十二、直方图
「pythonopencv视觉零基础」十三、图片颜色提鲜
「pythonopencv视觉零基础」十四、直方图反向投影
前文提醒:博主正在参加博客之星评比,成功入选Top,现在暂居第九欢迎各位点击了解更多帮我投票,非常感谢~
如有错误欢迎指出~
二、了解OpenCV的绘图方法
2.1了解直线绘图方法
我们在前两节中有了解使用OpenCV中的矩形绘制,接下来我们了解一下更多的图形绘制方法。我们在OpenCV中若需要绘制直线需要使用line方法,line方法的原型如下:
cv2.line(img,pt1,pt2,color[,thickness[,lineType[,shift]]])其中img表示需要在哪一张图片上进行绘图pt1表示起始点位置pt2表示终点位置color表示需要绘制的颜色thickness表示需要绘制的线段宽度lineType表示线段的类型,可以为8、4以及CV_AAshift表示坐标点的小数点位我们先创建一张图片:
importcv2importnumpyasnpimg=np.zeros((,,3),np.uint8)以上创建了一张*的3通道图片数据,并且将图片颜色赋予为纯黑。我们可以显示一下:
cv2.imshow(Image,img)cv2.waitKey(0)cv2.destroyAllWindows()
随后我们使用line方法在当前图片上进行绘图。
cv2.line(img,(0,0),(,),(,0,0),2)以上使用line方法,传入img表示在img图片上进行绘图,绘图的起始点位置为(0,0),终点位置是(,),然后绘制的颜色纯白色(,,),线段粗细为2个单位。我们来看一下绘制的效果:
我们可以更改rgb值对线段的颜色进行更改:
cv2.line(img,(0,0),(,),(,,0),2)以上改为黄青色,结果如下:
再试试更改绘制的起始坐标与终点坐标:
cv2.line(img,(,),(,),(,,0),2)
2.2了解矩形绘图方法
矩形绘图我们在前两节有过了了解,使用的是rectangle方法。rectangle方法与line方法参数类似,参数都是接收一个图片、起始绘制坐标、终点坐标、绘制颜色、绘制线段粗细。代码如下:
cv2.rectangle(img,(,0),(,),(0,,0),3)以上方法在img图片上绘制矩形,起始坐标是(,0)、终点坐标是(,),绘制颜色是(0,,0),线段粗细为3。结果如下:
2.3了解圆形绘图方法
在opencv中绘制圆形需要使用circle方法,circle方法的参数和直线line方法、矩形rectangle方法所接收的参数有所区别。circle方法的原型如下:
cv2.circle(img,center_coordinates,radius,color,thickness)circle方法接收img作为图片参数center_coordinates为圆的中心坐标radius是圆形的半径color表示绘制圆形的颜色thickness表示线段的粗细代码如下:
cv2.circle(img,(,),63,(0,0,),1)以上代码img为需要绘制的图片,(,)为绘制的中心坐标,63为绘制的半径,(0,0,)为绘制的颜色,1为线段的粗细。
那如何进行形状的填充呢?只需要将线段的粗细1改为负一就可以将这个原型给填充颜色。
cv2.circle(img,(,),63,(0,0,),-1)结果如下:
其实我们的矩形把线段改为-1也可以进行填充:
cv2.rectangle(img,(,0),(,),(0,,0),-1)
我们不仅可以画圆形也可以画椭圆,椭圆使用ellipse方法,ellipse原型如下:
cv2.ellipse(image,centerCoordinates,axesLength,angle,startAngle,endAngle,color[,thickness[,lineType[,shift]]])image为绘制的图像centerCoordinates为椭圆的中心坐标axesLength有两个变量,包含椭圆长轴和短轴angle为椭圆的旋转角度startAngle为椭圆弧的起始角度endAngle为椭圆弧的终止角度color为绘制颜色thickness为绘制的线段粗细lineType为边界类型shift为中心坐标中的小数位代码为:
cv2.ellipse(img,(,),(,),0,0,,(,,),3)结果为:
前文提醒:博主正在参加博客之星评比,成功入选Top,现在暂居第九欢迎各位点击了解更多帮我投票,非常感谢~
三、总结
了解使用line方法绘制直线了解使用rectangle方法绘制矩形了解使用ellipse方法绘制原型