答案:使用cv2.line()函数可在图像上绘制直线,参数包括图像、起点、终点、颜色(BGR)和粗细。示例显示在黑色画布或加载图像上画线,需注意坐标系原点在左上角,颜色顺序为BGR,且坐标不能越界。
在Python中使用OpenCV画线,主要依赖于 cv2.line() 函数。这个函数可以让你在图像上绘制一条直线,常用于目标检测、图像标注等场景。
cv2.line(img, pt1, pt2, color, thicknes
s) 的参数说明:
下面是一个完整示例,在一张空白图像上画一条红色直线:
import cv2 import numpy as np创建一个黑色图像(300x300 像素,3通道)
img = np.zeros((300, 300, 3), dtype=np.uint8)
绘制一条从 (50, 50) 到 (250, 250) 的红色直线,宽度为 3
cv2.line(img, (50, 50), (250, 250), (0, 0, 255), 3)
显示图像
cv2.imshow('Line', img) cv2.waitKey(0) cv2.destroyAllWindows()
你也可以在读取的图片上叠加线条:
import cv2读取图像
img = cv2.imread('example.jpg')
在图像上画一条蓝色横线(穿过中间)
height, width = img.shape[:2] cv2.line(img, (0, height//2), (width, height//2), (255, 0, 0), 2)
保存或显示
cv2.imshow('Image with line', img) cv2.waitKey(0) cv2.destroyAllWindows()
基本上就这些。只要掌握 cv2.line() 的用法,就能灵活地在图像中添加直线标注。