Python错误集锦:OpenCV minMaxLoc()计算最值时提示:1495: error: (-215:Assertion failed) (cn == 1 && (_mask.empty() || _mask.type() == CV_8U)) || (cn > 1 && _mask.empty() && !minIdx && !maxIdx) in function ‘cv::minMaxIdx’

原文链接:http://www.juzicode.com/archives/6288

错误提示:

minMaxLoc()计算最值时提示:1495: error: (-215:Assertion failed) (cn == 1 && (_mask.empty() || _mask.type() == CV_8U)) || (cn > 1 && _mask.empty() && !minIdx && !maxIdx) in function ‘cv::minMaxIdx’

#VX公众号:桔子code / juzicode.com
import cv2
print('cv2.__version__:',cv2.__version__)
img = cv2.imread('..\\lena.jpg')
print('img.shape:',img.shape)
ret = cv2.minMaxLoc(img)
print(ret)
==========运行结果:
cv2.__version__: 4.5.2
img.shape: (512, 512, 3)
---------------------------------------------------------------------------
error                                     Traceback (most recent call last)
<ipython-input-1-06c5cfa9e8f6> in <module>
      4 img = cv2.imread('..\\lena.jpg')
      5 print('img.shape:',img.shape)
----> 6 ret = cv2.minMaxLoc(img)
      7 print(ret)

error: OpenCV(4.5.2) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-kuwfz3h3\opencv\modules\core\src\minmax.cpp:1495: error: (-215:Assertion failed) (cn == 1 && (_mask.empty() || _mask.type() == CV_8U)) || (cn > 1 && _mask.empty() && !minIdx && !maxIdx) in function 'cv::minMaxIdx'

 

错误原因:

1、minMaxLoc要求输入的图像是单通道图像,可以提取单个通道或者转换为灰度图计算最值

 

解决方法:

1、多通道图像提取其中一个通道计算最值。

#VX公众号:桔子code / juzicode.com
import cv2
print('cv2.__version__:',cv2.__version__)
img = cv2.imread('..\\lena.jpg')
img = img[:,:,0]
print('img.shape:',img.shape)
ret = cv2.minMaxLoc(img)
print(ret)
==========运行结果:
cv2.__version__: 4.5.2
img.shape: (512, 512)
(27.0, 222.0, (177, 351), (114, 368))

 

2、转换为灰度图后计算最值。

#VX公众号:桔子code / juzicode.com
import cv2
print('cv2.__version__:',cv2.__version__)
img = cv2.imread('..\\lena.jpg')
img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
print('img.shape:',img.shape)
ret = cv2.minMaxLoc(img)
print(ret)
==========运行结果:
cv2.__version__: 4.5.2
img.shape: (512, 512)
(20.0, 245.0, (265, 198), (117, 272))

扩展内容:

  1.  Opencv-Python教程

 


 

如果本文还没有完全解决你的疑惑,你也可以在微信公众号“桔子code”后台给我留言,欢迎一起探讨交流。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注