我目前正在使用openCV进行小型项目,并且收到此错误消息:
Traceback (most recent call last):
File "main.py", line 115, in <module>
value = cv2.inRange(roi, (0,0,0), (255, 255, 75))
cv2.error: OpenCV(4.1.2) /root/opencv/opencv-4.1.2/modules/core/src/arithm.cpp:1726: error: (-215:Assertion failed) ! _src.empty() in function 'inRange'
我已经在Internet上进行了一些研究,但是还没有找到适合我的解决方案。当我更改感兴趣区域(短roi)的坐标时,总是会发生错误。代码(至少最重要的部分):
roi= (50, 270, 150, 192)
for frame in camera.capture_continuous(rawCapture, format="bgr", use_video_port=True):
image = frame.array
cut = image[roi[0]:roi[1]][roi[2]:roi[3]]
value = cv2.inRange(cut, (0,0,0), (255, 255, 75))
rawCapture.truncate(0)
最佳答案
确保按正确的顺序 slice 轴,因为
frame.array返回形状为(y,x,3)的numpy数组。
#RGB Image 640x480
img = np.ones((480,640,3))
roi= (500, 600, 150, 192)
cut = img[roi[0]:roi[1]][roi[2]:roi[3]]
value = cv2.inRange(cut, (0,0,0), (255, 255, 75))
#error: (-215:Assertion failed) ! _src.empty() in function 'cv::inRange'
关于python - 在函数 'inRange'中(-215:断言失败)! _src.empty(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63316222/