首页 > 解决方案 > 如何使用 python openCV 在图像上放置徽标?

问题描述

我一直在做关于 python OpenCV 的教程,并试图在不同图像的右上角附加一个徽标。我使用打印语句将问题定位到 bitwise_and 行。我已经从网站逐字复制了代码,但它仍然无法正常工作。

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

有任何想法吗?
这是徽标

这是背景图片

标签: pythonvisual-studioopencv

解决方案


推荐阅读