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 如何处理输入图像中的错误_Python_Opencv_Image Processing - Fatal编程技术网

Python 如何处理输入图像中的错误

Python 如何处理输入图像中的错误,python,opencv,image-processing,Python,Opencv,Image Processing,我正在编写一个简单的程序,它可以读取一系列图像并执行一些操作。其中一个输入图像有一些故障(我认为是数据传输过程中断开thumb drive的连接造成的) 因此,涉及输入图像的唯一语句不会导致程序冻结是cv2.imread()。当我的程序到达任何涉及输入的语句时,它就会冻结。我尝试将这些语句放入try-catch块中(这样会抛出错误并跳过此图像),但没有任何更改。我能做些什么让我的程序看到输入中的错误,然后忽略它,转到下一个图像而不是冻结?根据: 函数imread从指定文件加载图像并返回。如果无法

我正在编写一个简单的程序,它可以读取一系列图像并执行一些操作。其中一个输入图像有一些故障(我认为是数据传输过程中断开thumb drive的连接造成的)

因此,涉及输入图像的唯一语句不会导致程序冻结是
cv2.imread()
。当我的程序到达任何涉及输入的语句时,它就会冻结。我尝试将这些语句放入
try-catch
块中(这样会抛出错误并跳过此图像),但没有任何更改。我能做些什么让我的程序看到输入中的错误,然后忽略它,转到下一个图像而不是冻结?

根据:

函数imread从指定文件加载图像并返回。如果无法读取图像(由于缺少文件、权限不正确、格式不受支持或无效),函数将返回一个空矩阵(Mat::data==NULL)

因此,只需检查
None
值,例如:

for fname in fnames:

    img = cv2.imread(fname)
    if img is None:
        continue

    # Do your processing here
如果失败,则cv2.imread()返回
None
。这很容易检查。