下面是Python OpenCV绘制各类几何图形的完整攻略:
前言
在计算机视觉的应用中,常常需要在图像上绘制各种几何图形,如:线段、矩形、圆等等。本文将详细讲解如何使用Python的OpenCV库在图像上绘制各类几何图形。
绘制线段
OpenCV中提供了cv2.line()函数来绘制线段,函数原型如下:
cv2.line(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)
参数说明:
- img:绘制的图片
- pt1:线段的起点,可以是一个二元组
- pt2:线段的终点,可以是一个二元组
- color:线段的颜色,支持BGR值,也支持只有一个灰度值
- thickness:线段的粗细程度,默认值为1
- lineType:线段的类型,支持5种类型,如LINE_4、LINE_8等
- shift:像素位移值,默认值为0
代码示例:
import cv2
import numpy as np
# 创建一个黑色的图片
img = np.zeros((512, 512, 3), np.uint8)
# 绘制一条蓝色的线段,起点为(0,0),终点为(511,511),线段宽度为5
cv2.line(img, (0, 0), (511, 511), (255, 0, 0), 5)
# 显示图片
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
上述代码创建一个黑色的图片,然后绘制一条蓝色的线段,起点为(0,0),终点为(511,511),线段宽度为5。最后将图片显示出来。
绘制矩形
OpenCV中提供了cv2.rectangle()函数来绘制矩形,函数原型如下:
cv2.rectangle(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)
参数说明:
- img:绘制的图片
- pt1:矩形的左上角,可以是一个二元组
- pt2:矩形的右下角,可以是一个二元组
- color:矩形的颜色,支持BGR值,也支持只有一个灰度值
- thickness:矩形的边框粗细程度,默认值为1
- lineType:矩形的类型,支持5种类型,如LINE_4、LINE_8等
- shift:像素位移值,默认值为0
代码示例:
import cv2
import numpy as np
# 创建一个黑色的图片
img = np.zeros((512, 512, 3), np.uint8)
# 绘制一个绿色的矩形,左上角为(384,0),右下角为(510,128),线段宽度为3
cv2.rectangle(img, (384, 0), (510, 128), (0, 255, 0), 3)
# 显示图片
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
上述代码创建一个黑色的图片,然后绘制一个绿色的矩形,左上角为(384,0),右下角为(510,128),线段宽度为3。最后将图片显示出来。
总结
该文详细讲解了如何在OpenCV中绘制线段和矩形两种几何图形,任何形状都可以通过这种方式来绘制。掌握了绘制几何图形的方法后,就可以尝试在图像上绘制自己想要的形状。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python OpenCV绘制各类几何图形详解 - Python技术站