我一直在尝试在黑色图像上绘制矩形,我们cv2.rectangle
。这是我的代码:(这只是一个示例,在实际代码中有一个循环,即值x2,y2,w2,h2循环中的变化)
heir = np.zeros((np.shape(image1)[0],np.shape(image1)[1]),np.uint8);
cv2.rectangle(heir,(x2,y2),(x2+w2,y2+h2),(255,255,0),5)
cv2.imshow("img",heir);
cv2.waitKey()
答案 0 :(得分:0)
无法在评论中发布此内容,但这是一个否定的答案:在Windows / python 2.7.8 / opencv3.1上我可以使用相同的操作
import numpy as np
import cv2
heir = np.zeros((100,200),np.uint8);
x2=10
y2=20
w2=30
h2=40
cv2.rectangle(heir,(x2,y2),(x2+w2,y2+h2),(255,255,0),5)
cv2.imshow("img",heir);
cv2.waitKey()
答案 1 :(得分:0)
因为您要加载要标记的图像(绘制矩形),因此当您添加矩形/边界框时,颜色将转换为灰度。
要解决此问题,请以“颜色”格式打开图片。既然,你没有包含那部分代码,这里是建议的解决方案:
tag_img = cv2.imread(MYIMAGE,1)
此处注意第二个参数,即“1”,表示将图像加载为颜色。阅读更多有关阅读图片的信息:https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_image_display/py_image_display.html