【发布时间】:2016-09-29 21:29:40
【问题描述】:
cv2.imread("some.jpg") 无法读取许多不同的 jpg。我检查了一百万种不同的东西:
- 在终端中运行完全相同的代码 - 可以很好地读取和打开图像
- 我检查了 python 和 cv2 的版本号 - 它们完全相同:
3.4.3和3.1.0。 - 使用了文件的完整路径。没有区别
- 图片存在:我手动打开了几十张看看有没有什么东西
- 计时:添加暂停只是为了确保这不是计时问题。
- 检查以确保
img/filename与print(os.path.exists(filename)) # prints True存在 - 将文件路径硬编码到 `img = imread("gif_pos_0pW-p-wb8U4_0.jpg") # print(img)... 无
filename = random.choice(filename_list)
print("reading:", filename) # prints correct/verified jpg paths
sleep(.5)
img = cv2.imread(filename)
sleep(.3)
print(img) # none
read_image = cv2.resize(img, (IMAGE_WIDTH, IMAGE_HEIGHT), 3)
img 为 none,调整大小行失败:OpenCV Error: Assertion failed (ssize.area() > 0) in resize, file /home/user/opencv/modules/imgproc/src/imgwarp.cpp, line 3229
如果重要的话,这是 Ubuntu 15.1。有什么可能导致这种情况的想法吗?
是的,我知道这个问题存在于其他地方。 现有的答案对我没有帮助。我已经对所有内容进行了四次检查。 似乎还有其他事情发生。
最奇怪的部分是 cv2 从命令行很好地读取图像,具有完全相同的 python 和 cv2 版本。
编辑:这是一个脚本,所以我只是在做python3 train.py。
【问题讨论】:
-
你检查
sys.executable两者是否相同? -
不,但我现在就试试。编辑:它是一样的......
-
你是说一个图像被打开而另一个没有?还是根本没有打开任何图像?
-
您是否检查过同一目录中没有路径的文件名?发生什么了?你有没有检查过没有random.choice,直接输入一个路径?
-
根本没有图像被打开。是的,我已在脚本目录中放置了一部分图像并更改了读取的目录。那没有效果。我已经将一个检查过的文件路径字符串硬编码到
imread,是的。