[英]How to draw a red shape on a black background in cv2?
我有一个黑色背景的图像。 我应该如何在上面画一个红色的形状? 红色应该是 (0,0,255) 对吧? 但它显示为黑色,因此在黑色背景下不可见。 我能做的最好的就是在下面的例子中创建一个白色矩形。 我的问题是我应该如何使它变红? 我想我在这里遗漏了一些简单的东西。 请帮忙。
import cv2
import numpy as np
img = np.zeros((500,500,1), np.uint16)
cv2.rectangle(img, (200, 200), (300, 300), (0, 0, 255), 5)
cv2.imshow('image',img)
cv2.waitKey(100000)
你会看到矩形甚至没有出现:
我能做的最好的就是像这样的白色矩形:
img = np.zeros((500,500,1), np.uint16)
cv2.rectangle(img, (200, 200), (300, 300), (2**16, 0, 0), 5)
cv2.imshow('image',img)
cv2.waitKey(100000)
您正在尝试在黑色(一个通道)图像上绘制颜色(3 个通道)。 您需要将黑色图像转换为 3 个通道。 这是我在 Python/OpenCV 中的做法
import cv2
import numpy as np
# create one channel black image (grayscale)
img = np.zeros((500,500))
# convert to 3 channel black (color)
img = cv2.merge([img,img,img])
# draw on it in color
cv2.rectangle(img, (200, 200), (300, 300), (0, 0, 255), 5)
cv2.imshow('image',img)
cv2.waitKey(0)
结果是黑色背景上的红色方形轮廓
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.