python - 关于图像大小,使用opencv python对图像进行网格化
问题描述
我正在尝试使用 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)坐标的开始和结束来玩数字。
解决方案
您正在为整个图像绘制蓝线而不跳过任何像素,将范围的步长设置为 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)
推荐阅读
- javascript - 在另一个部分 id 上时,锚标签不会跳转到新的内部部分 id
- python-3.x - Beautifulsoup span 属性没有值,find 返回“None”我如何获取文本?
- marklogic - MarkLogic Optic API from-sql 绑定参数
- c++ - WinAPI 如果我不翻译和发送未处理的消息会发生什么
- database - Firebase,存储数据
- clojure - 当且仅当该密钥存在时,如何更新 Clojure 中的密钥?
- c# - 将datagridview保存在文件xml c#中
- javascript - 在 Node.js 中从 api 加载更多内容
- perl - UDP发现广播并收听 - 不适合我
- javascript - 无法让我的简单 JavaScript 事件处理程序工作