首页 > 解决方案 > bitwise_and 方法上的 OpenCV 断言错误

问题描述

import cv2
import numpy as np

img = cv2.imread("Yash.jpeg")
blank = np.zeros(img.shape[:2])

cv2.imshow("YASH", img)
cv2.imshow("Blank", blank)

mask = cv2.circle(blank, (img.shape[1]//2, img.shape[0]//2), 150, 255, -1)
cv2.imshow("Mask", mask)

masked = cv2.bitwise_and(img, img, mask = mask)  # Error in this line
cv2.imshow("MASKED", masked)

cv2.waitKey(0)
cv2.destroyAllWindows()

** Traceback(最近一次调用):文件“D:/pythonProject1/masing.py”,第 13 行,在 masked = cv2.bitwise_or(img, img, mask = mask) cv2.error: OpenCV(4.5.1) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-i1s8y2i1\opencv\modules\core\src\arithm.cpp:250:错误:(-215:断言失败)(mtype == CV_8U || mtype == CV_8S) && _mask.sameSize(*psrc1) in function 'cv::binary_op' **

标签: pythonopencvbitwise-and

解决方案


只需更正:

blank = np.zeros(img.shape[:2], dtype='uint8')

该错误是数据类型错误


推荐阅读