【发布时间】:2021-07-20 21:13:07
【问题描述】:
我正在尝试使用 scikit 图像包学习图像处理。我知道我最终需要导入包含大量图像的文件夹。我从单独指定每个文件的路径开始,效果很好,并且能够生成我希望的数组。
import numpy as np
import matplotlib as plt
from skimage import io
from skimage import viewer
fID1 = 'C:/Users/keand/Documents/Strader Lab/HJ pictures/PictureB.jpg'
fID2 = 'C:/Users/keand/Documents/Strader Lab/HJ pictures/PictureA.jpg'
root1 = io.imread(fID1)
root2 = io.imread(fID2)
然后我尝试使用 scikit 文档中的示例来加载文件夹。
>>> import os
>>> from natsort import natsorted, ns
>>> from skimage import io
>>> list_files = os.listdir('.')
>>> list_files
['01.png', '010.png', '0101.png', '0190.png', '02.png']
>>> list_files = natsorted(list_files)
>>> list_files
['01.png', '02.png', '010.png', '0101.png', '0190.png']
>>> image_list = []
>>> for filename in list_files:
... image_list.append(io.imread(filename))
这是我的娱乐:
import os
from natsort import natsorted,ns
from skimage import io
from skimage.io import imread
listFiles = os.listdir('C:/Users/keand/Documents/Strader Lab/HJ pictures')
# listFiles = os.listdir('./HJ pictures')
print(listFiles)
listFiles = natsorted(listFiles)
print(listFiles)
imageList = []
for filename in listFiles:
imageList.append(io.imread(filename))
当我运行它时,我得到以下信息:
runfile('C:/Users/keand/Documents/Strader Lab/ImageProcessing.py', wdir='C:/Users/keand/Documents/Strader Lab')
['PictureA.jpg', 'PictureB.jpg']
['PictureA.jpg', 'PictureB.jpg']
Traceback (most recent call last):
File "C:\Users\keand\Documents\Strader Lab\ImageProcessing.py", line 31, in <module>
imageList.append(io.imread(filename))
File "C:\Users\keand\anaconda3\lib\site-packages\skimage\io\_io.py", line 48, in imread
img = call_plugin('imread', fname, plugin=plugin, **plugin_args)
File "C:\Users\keand\anaconda3\lib\site-packages\skimage\io\manage_plugins.py", line 207, in call_plugin
return func(*args, **kwargs)
File "C:\Users\keand\anaconda3\lib\site-packages\skimage\io\_plugins\imageio_plugin.py", line 10, in imread
return np.asarray(imageio_imread(*args, **kwargs))
File "C:\Users\keand\anaconda3\lib\site-packages\imageio\core\functions.py", line 265, in imread
reader = read(uri, format, "i", **kwargs)
File "C:\Users\keand\anaconda3\lib\site-packages\imageio\core\functions.py", line 172, in get_reader
request = Request(uri, "r" + mode, **kwargs)
File "C:\Users\keand\anaconda3\lib\site-packages\imageio\core\request.py", line 124, in __init__
self._parse_uri(uri)
File "C:\Users\keand\anaconda3\lib\site-packages\imageio\core\request.py", line 260, in _parse_uri
raise FileNotFoundError("No such file: '%s'" % fn)
FileNotFoundError: No such file: 'C:\Users\keand\Documents\Strader Lab\PictureA.jpg'
有人可以帮我弄清楚为什么在识别图像名称时会收到 FileNoFoundError 吗?
以下是我尝试过的一些故障排除步骤。
- 重命名文件
- 确保python脚本和文件在同一个目录
- 创建后打印 listFiles
- 将 +name 添加到首先定义 listFiles 的行尾
- 导入 numpy 和 matplotlib 以防有任何依赖关系。
【问题讨论】:
标签: python scikit-learn scikit-image