我收到此错误:
self._state.pk
我已经读过this post来描述我的问题(其他问题没有),但是我从那里找不到答案。
这是我的代码:
cv2.error: OpenCV(4.1.2) C:\projects\opencv-python\opencv\modules\core\src\arithm.cpp:245: error: (-215:Assertion failed) (mtype == CV_8U || mtype == CV_8S) && _mask.sameSize(*psrc1) in function 'cv::binary_op'
答案 0 :(得分:2)
我发现我正在尝试使用错误的名为“ img”的图像,img的形状大于imgOther的形状,因此会引起问题。我更改了
width, height, channel = img.shape # 768, 1024, 3
roi = img[0:width, 0:height]
使用
width, height, channel = imgOther.shape # 768, 1024, 3
roi = img[0:width, 0:height]
我的问题解决了
答案 1 :(得分:1)
我遇到了类似的问题,并且我相信您的问题源自您所使用的关注区域(roi)。简而言之:您尝试选择一个感兴趣的区域,该区域包含的坐标不在原始图像中。
在OpenCV中,您可以如下定义ROI(假设您已经打开了一个名为“ image”的图像)
roi = image[y1:y2,x1:x2]
在这里,坐标(x1,y1)将与图像的左上角相关,坐标(x2,y2)将在图像的右下角。
在代码中,您通过先列出x(宽度)来混合宽度(x)和高度(y)。 OpenCV以相反的方式进行操作,首先是y变量(高度)。您应该将roi变量更改为以下内容:
roi = img[0:height,0:width]
这将创建一个感兴趣的区域,即整个图像的大小。