首页 > 解决方案 > OpenCV addweight 不绘制覆盖

问题描述

我正在尝试在图像顶部覆盖一个透明的红色矩形框,并从函数中返回整个内容。为此,我正在使用cv2.addWeight(). 我有一个以前的 PIL 矩形函数调用,它绘制一个矩形轮廓来标记输出应该去哪里,以防它不出现。然而,不幸的是,什么都没有画出来。这是我使用叠加功能时的输出:

在此处输入图像描述

这是我的代码:

def overlay(path, lg_x, lg_y):
    img = cv2.imread(path, cv2.IMREAD_UNCHANGED)

    overlay = cv2.rectangle(img, (0, 0), (lg_x, lg_y), (0, 0, 255), cv2.FILLED)

    result = cv2.addWeighted(img, 1, overlay, 0.5, 1)

    pil_image = Image.fromarray(np.uint8(result))

    return pil_image

标签: pythonnumpyopencvpython-imaging-library

解决方案


尝试:

result = cv2.addWeighted(img, 0.5, overlay, 0.5, 0)

推荐阅读