Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Opencv2:将背景添加到网络摄像头框架后,背景显示在无背景图像上_Python_Opencv_Computer Vision_Opencv Python - Fatal编程技术网

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

Python Opencv2:将背景添加到网络摄像头框架后,背景显示在无背景图像上,python,opencv,computer-vision,opencv-python,Python,Opencv,Computer Vision,Opencv Python,我正在使用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, glasse

我正在使用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]
这是我想展示的玻璃


这就是实际结果

有人能看出问题出在哪里吗?A搜索了很多,没有找到任何有用的东西。它与颜色通道有关吗?
谢谢

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

它解决了问题,但我仍然无法得到我期望的结果。看看结果:有什么方法可以改善这一点吗?