Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.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 3无法正确读取图像_Python_Opencv_Numpy - Fatal编程技术网

Python OpenCV 3无法正确读取图像

Python OpenCV 3无法正确读取图像,python,opencv,numpy,Python,Opencv,Numpy,在MacOS 10.11.6中,我使用文件系统中的OpenCV 3cv2.imread()读取了一批192*.jpg图像,每个图像的形状都是160x320x3,然后我使用这批图像创建了一个NumPy数组。如果我从data01/路径(/data01/IMG/center_2017_03_03_11_52_56_652.jpg)加载它,那么我会得到一个返回形状: X_train = np.array(read_images) X_train.shape is (192, 160, 320, 3) X

在MacOS 10.11.6中,我使用文件系统中的OpenCV 3
cv2.imread()
读取了一批192*.jpg图像,每个图像的形状都是160x320x3,然后我使用这批图像创建了一个NumPy数组。如果我从
data01/
路径(
/data01/IMG/center_2017_03_03_11_52_56_652.jpg
)加载它,那么我会得到一个返回形状:

X_train = np.array(read_images)
X_train.shape is (192, 160, 320, 3)
X_train[0].shape is (160, 320, 3)
如果我从
data/
路径(
/data/IMG/center\u 2016\u 12\u 01\u 13\u 41\u 40\u 419.jpg
)读取它,我会得到一个返回形状

X_train.shape is (192,)
X_train[0].shape is (160, 320, 3)

数据/
路径读取数据的第二种情况是破坏我的神经网络。有什么线索吗?

在对问题的评论中,您说
read\u images
中某些对象的类型是
NoneType
,这意味着某些值是
None
。您必须修复生成
read\u图像的代码,或使用以下内容过滤掉
None
值:

read_images = [img for img in read_images if img is not None]
在执行
X\u train=np.array(读取图像)
之前。(这假设
read\u图像中唯一的“坏”对象是
None


read\u images
中出现
None
导致问题的原因是调用
array(read\u images)
仅当
read\u images
中的所有元素都是具有相同形状的“类似数组”时才会创建四维数组。如果不是,则
array()
函数将创建Python对象的一维数组。

在第二种情况下,什么是
X\u train.dtype
?(我猜是
dtype('O')
,即一个对象数组。)如果其中一个图像没有形状160x320,则可能发生这种情况,因此请检查
X\u train[k]。每个
k
都有形状。是的,您是对的。在
data01/
的情况下,数据类型是uint8,而在
data/
的情况下,数据类型是object。第三幅图像在计算shape
X\U列[2]时崩溃。shape
。在打印
X\u train[2].dtype时,它会显示
AttributeError:“NoneType”对象没有属性“dtype”
。为什么会出现这种情况?解决方法是什么?请看
阅读图片[2]
。是否为
None
类型(读取图像[2])
NoneType
类型(read_images[k])
已完全损坏。其中一些是
numpy.ndarray
,而另一些是
NoneType
!?!?请参阅我的更新答案,以获得一些建议。感谢您带我通过它。我正在为读取的图像构建路径,在
data/
上,每3个路径中只有1个正确构建,另外两个在路径中添加空格,其中os.path.isfile(path)为False。