如何使用python openCV在图像上添加徽标?

如何使用python openCV在图像上添加徽标?,python,visual-studio,opencv,Python,Visual Studio,Opencv,我一直在做一个关于python OpenCV的教程,并试图在不同图像的右上角添加一个徽标。我使用print语句将问题定位到按位的_和行。我已经从网站上一字不差地复制了代码,但仍然不起作用 import numpy as np import cv2 img1 = cv2.imread('C:\\Users\\imaxm\\Downloads\\terryRozier.jpg') img2 = cv2.imread('C:\\Users\\imaxm\\Downloads\\scaryTerryL

我一直在做一个关于python OpenCV的教程,并试图在不同图像的右上角添加一个徽标。我使用print语句将问题定位到按位的_和行。我已经从网站上一字不差地复制了代码,但仍然不起作用

import numpy as np
import cv2

img1 = cv2.imread('C:\\Users\\imaxm\\Downloads\\terryRozier.jpg')
img2 = cv2.imread('C:\\Users\\imaxm\\Downloads\\scaryTerryLogo.jpg')
rows,cols,channels = img2.shape
roi = img1[0:rows, 0:cols ]
img2gray = cv2.cvtColor(img2,cv2.COLOR_BGR2GRAY)
ret, mask = cv2.threshold(img2gray, 10, 255, cv2.THRESH_BINARY)
mask_inv = cv2.bitwise_not(mask)
img1_bg = cv2.bitwise_and(roi,roi, mask = mask_inv)
img2_fg = cv2.bitwise_and(img2,img2,mask = mask)
dst = cv2.add(img1_bg,img2_fg)
img1[0:rows, 0:cols ] = dst
cv2.imshow('res',img1)
cv2.waitKey(0)
cv2.destroyAllWindows()
此代码给出了以下错误:

cv2.error: ..\..\..\modules\core\src\arithm.cpp:241: error: (-215) (mtype == CV_8U || mtype == CV_8S) && _mask.sameSize(*psrc1) in function cv::binary_op
有什么想法吗?


发布图像和徽标。作为第一个猜测,似乎您的图像和标志有不同的数据类型来StackOverflow!你有一个很好的开始。通过发布图片来完成它。请不要参考外部网站。@kevinkayaks已发布。它们都是jpeg的。我所遵循的教程使用了PNG,不确定这是否会有不同,所以我只是尝试使用PNG图像,效果如预期。你知道为什么JPG不能以同样的方式工作吗?