Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 切片视频帧的OpenCV断言错误_Python_Opencv_Assertion - Fatal编程技术网

Python 切片视频帧的OpenCV断言错误

Python 切片视频帧的OpenCV断言错误,python,opencv,assertion,Python,Opencv,Assertion,我正在尝试切片一个视频捕获帧以收集手势的图像数据,因此我认为一个简单的开始是切片一个视频帧并将帧从帧的特定部分写入一个目录,但是当我尝试显示切片的帧时,我会遇到这个持续的断言错误。我一直在寻找其他的解决办法,但我想不出来 代码是 import numpy as np t,r,b,l = 250, 500, 500,50 fgbg = cv2.BackgroundSubtractorMOG2() cam = cv2.VideoCapture(0) while

我正在尝试切片一个视频捕获帧以收集手势的图像数据,因此我认为一个简单的开始是切片一个视频帧并将帧从帧的特定部分写入一个目录,但是当我尝试显示切片的帧时,我会遇到这个持续的断言错误。我一直在寻找其他的解决办法,但我想不出来

代码是

    import numpy as np
    t,r,b,l = 250, 500, 500,50
    fgbg = cv2.BackgroundSubtractorMOG2()
    cam = cv2.VideoCapture(0)
    while cam.isOpened():
        ret,frame = cam.read()
        cv2.rectangle(frame,(l,t),(r,b),(255,0,0),2)
        cv2.imshow('frame',frame)
        (h,w) = frame.shape[:2]
        roi = frame[t:b,r:l]
        cv2.imshow('roi',roi) #giving error
        if 0xFF & cv2.waitKey(1) == ord('q'):
        break
   cam.release()
   cv2.destroyAllWindows() 
我也试过:
cv2.imshow('roi',roi.astype('uint8')
cv2.imshow('roi',np.asarray(roi,dtype='uint8'))
所有人都给了我同样的错误

我不断地发现这个错误: 错误:OpenCV(4.5.1)C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-kh7iq4w7\OpenCV\modules\highgui\src\window.cpp:376:错误:(-215:断言失败)函数“cv::imshow”中的size.width>0和size.height>0

编辑:
roi=frame[t:b,r:l]
如果一直返回空列表,如何对ndarray帧进行切片以获得正确的切片数组


非常感谢您提供的任何帮助。谢谢您

,所以问题似乎完全与切片方式有关:

我的代码是:
roi=frame[t:b,r:l]
切片应该在哪里[行,列] 我的错误是从右向左切片列,而不是从左向右。
roi=frame[t:b,l:r]
根据需要提供切片的帧

看起来你的帧是空的…这很奇怪。因为帧显示很好,但可能是帧切片的问题?是的,我尝试打印roi,但它只是一个空列表