我正在使用opencv2编写Python脚本,该脚本带有网络摄像头框架(img)并在我的脸上添加眼镜,但是眼镜图像有所更改,我看不出原因。
这是添加两个图像的代码片段:

 # Load two images
 ret, img = cap.read()
 img2 = cv2.imread('glasses_2.png', -1)
 img2 = img2[:,:,0:3]
 img2 = cv2.resize(img2, (glasses_width, glasses_height))
 rows,cols,channels = img2.shape
 for i in range(0, rows):
     for j in range(0, cols):
         if img2[i, j][2] != 0:
             img[round(glasses_center_y - glasses_height/2) + i, round(glasses_center_x - glasses_width/2) + j] = img2[i, j]

这是我要展示的玻璃
python - Python Opencv2:将背景添加到摄像头框架后,背景显示在无背景图像上-LMLPHP

这是实际结果

python - Python Opencv2:将背景添加到摄像头框架后,背景显示在无背景图像上-LMLPHP

有人可以看到问题出在哪里吗?搜索了很多内容,但没有发现任何有用的信息。它与颜色通道有关吗?
谢谢

最佳答案

尝试将if语句更改为等于零而不是不等于。

08-25 03:14