我试图在白色背景上画一条线,但是该线在CV2中没有显示。
import cv2
import numpy as np
while True:
white = np.zeros([512,512,3])
white.fill(255)
canvas = np.zeros_like(white)
canvas = cv2.line(canvas, (0, 0), (200, 200), (0, 0, 255), 5)
white = cv2.add(canvas,white)#canvas is not showing
cv2.imshow("white",white)
key = cv2.waitKey(1)
if key == ord("0"):
break
相同的代码在黑色背景下工作。
答案 0 :(得分:0)
您正在将画布添加到白色背景。因此,基本上,您将[0,0,255](红色)添加到[255,255,255](白色),这也是白色,因为没有值可以超过255。
要归档目标,您必须从白色减去画布。
更改
white = cv2.add(canvas,white)
收件人
white = cv2.substract(white, canvas)
顺便说一句:这不适用于黑色背景。为了确保它可以在每种背景下使用,您必须直接在背景上绘制,而不是创建画布并从原始图像中减去它。