繁体   English   中英

opencv2 python3 imread with NoneType

[英]opencv2 python3 imread with NoneType

我在 Ubuntu 系统中使用 python3、opencv2 进行编程。 文件夹中有几张图片需要处理。 当我使用imreadprint(img.shape)显示AttributeError: 'NoneType' object has no attribute 'shape' 我检查了创建的图像的大小是 0 字节。 奇怪的是,有一些图片可以读取成功,但有一些是NoneType。 谢谢你的帮助。

import glob as gb
import cv2
import random
import os
import numpy as np

shared_path="/home/train_1/"
folder_list=["HTC-1-M7"]

for j in range(len(folder_list)):
    output_path=os.path.join("/home/test/",folder_list[j])

    camera_path= os.path.join(shared_path,folder_list[j])


    img_path = gb.glob(camera_path+"/*.jpg")
    counter=1
    for path in img_path:
        img = cv2.imread(path)
        print(img.shape)
        kernel = np.array([[-1,2,-2,2,-1],[2,-6,8,-6,2],[-2,8,-12,8,-2],[2,-6,8,-6,2],[-1,2,-2,2,-1]],np.float32)/12
        img = cv2.filter2D(img,-1,kernel)

这意味着某个应该返回图像的函数只是返回None ,因此它没有 shape 属性。

尝试使用print(img)检查您的图像是 None 还是实际的 numpy 对象。 您可能会收到此错误,因为您的图像路径可能在某种程度上是错误的。 确保您的路径完全正确。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM