我正在尝试使用cv2.line方法在图片上形成网格。现在,我正在执行一个for循环,该循环将遍历图像的宽度,以便可以在图像上放置几条垂直线。但是,在运行并编译代码后,我得到一个带有蓝色图片的窗口
img = cv2.imread("target.PNG")
height, width, channels = img.shape
for x in range(0, width -1, 1):
cv2.line(img, (x, 0), (x, height), (255, 0, 0), 1, 1)
cv2.imshow('Hehe', img)
key = cv2.waitKey(0)
现在,这仅适用于垂直线。一旦完成此工作,我将在以后添加水平的。它输出一个全蓝屏而不是网格。我尝试根据(x,y)坐标的开始和结束使用数字。
答案 0 :(得分:1)
您要在整个图像上绘制蓝线而不跳过任何像素,请将范围的步长设置为20之类的值。例如:
img = cv2.imread("target.PNG")
GRID_SIZE = 20
height, width, channels = img.shape
for x in range(0, width -1, GRID_SIZE):
cv2.line(img, (x, 0), (x, height), (255, 0, 0), 1, 1)
cv2.imshow('Hehe', img)
key = cv2.waitKey(0)