Python Opencv2:将背景添加到网络摄像头框架后,背景出现在无背景图像上
Python Opencv2: Background appearing on a no background image after adding it on webcam frame
我正在使用 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 语句更改为等于零而不是不等于。
我正在使用 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 语句更改为等于零而不是不等于。