Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.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 keras.preprocessing.image.load_img“;“未识别的图像错误”;_Python_Tensorflow_Keras_Google Colaboratory_Loadimage - Fatal编程技术网

Python keras.preprocessing.image.load_img“;“未识别的图像错误”;

Python keras.preprocessing.image.load_img“;“未识别的图像错误”;,python,tensorflow,keras,google-colaboratory,loadimage,Python,Tensorflow,Keras,Google Colaboratory,Loadimage,我正在尝试按照Keras教程进行图像分割。它在中似乎运行良好,但在本地运行时,出现以下错误: for j, path in enumerate(batch_target_img_paths): img = load_img(path, target_size=self.img_size, color_mode="grayscale") ... Exception has occurred: UnidentifiedImageError cannot identif

我正在尝试按照Keras教程进行图像分割。它在中似乎运行良好,但在本地运行时,出现以下错误:

for j, path in enumerate(batch_target_img_paths):
    img = load_img(path, target_size=self.img_size, color_mode="grayscale")

...

Exception has occurred: UnidentifiedImageError
cannot identify image file <_io.BytesIO object at 0x0000020130390400>
  File "C:\Computer Vision\main_tutorial.py", line 203, in __getitem__
    img = load_img(path, target_size=self.img_size, color_mode="grayscale")
  File "C:\Computer Vision\main_tutorial.py", line 102, in main
    model.fit(train_gen, epochs=epochs, validation_data=val_gen, callbacks=callbacks)
  File "C:\Computer Vision\main_tutorial.py", line 211, in <module>
    main()
对于j,枚举中的路径(批处理目标路径):
img=加载img(路径、目标大小=self.img大小、颜色模式=“灰度”)
...
发生异常:UnidentifiedImageError
无法识别图像文件
文件“C:\Computer Vision\main\u tutorial.py”,第203行,在\uu getitem中__
img=加载img(路径、目标大小=self.img大小、颜色模式=“灰度”)
文件“C:\Computer Vision\main\u tutorial.py”,第102行,在main中
model.fit(train_gen,epochs=epochs,validation_data=val_gen,callbacks=callbacks)
文件“C:\Computer Vision\main\u tutorial.py”,第211行,在
main()
我已验证路径是否正确:

C:\Computer Vision\oxford iiit pet\train\annotations\.\u Abysinian\u 10.png

有问题的文件
。\u Abysinian_10.png
似乎不是有效的图像(我相信它是目标掩码),无法在常规图像查看应用程序中打开


是否存在我缺少的环境或平台问题?

如果您遇到此错误,则图像可能已损坏或属于
NoneType

根据我的经验,您无法修复此图像,最好使用下面的代码删除它,该代码检查图像是否作为
PNG
有效,如果不是,则删除图像。如果您有
JPEG
图像,那么您可以使用
JPEG

您必须在图像的整个目录中运行此操作

import cv2
import imghdr
import os

image_path = "C:\Computer Vision\oxford-iiit-pet\train\annotations\._Abyssinian_10.png"
image = cv2.imread(image_path)
img_type = imghdr.what(image_path)
if img_type != "png":
    os.remove(image_path)

这个错误是我的错误

annotations/trimaps
文件夹包含每个原始图像的两个文件:

\u阿比西尼亚1.png

Abysinian_1.png


我试图加载不正确的文件
。\u Abysinian\u 1.png
,我应该加载
Abysinian\u 1.png

谢谢你的建议。。我刚刚意识到错误是我的错-目标文件夹包含正确的图像掩码文件:
annotations\abysinian_10.png
我应该使用它,而不是
annotations\。\u abysinian_10.png
@TomSelleck啊,如果问题解决了,我看不出有问题。