线未显示在白色背景CV2 python上

时间:2020-06-13 13:36:09

标签: python opencv

我试图在白色背景上画一条线,但是该线在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

相同的代码在黑色背景下工作。

1 个答案:

答案 0 :(得分:0)

您正在将画布添加到白色背景。因此,基本上,您将[0,0,255](红色)添加到[255,255,255](白色),这也是白色,因为没有值可以超过255。

要归档目标,您必须从白色减去画布。

更改

white = cv2.add(canvas,white)

收件人

white = cv2.substract(white, canvas)

顺便说一句:这不适用于黑色背景。为了确保它可以在每种背景下使用,您必须直接在背景上绘制,而不是创建画布并从原始图像中减去它。