cv2.imread("some.jpg")
无法阅读许多不同的jpgs。我检查了一百万种不同的东西:
3.4.3
和3.1.0
。img/filename
存在print(os.path.exists(filename)) # prints True
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
。
答案 0 :(得分:3)
脚本可能以不同的用户身份执行,具有不同的权限,或者与在命令行上执行代码的位置不同。
os.path.isfile
import cv2
img=cv2.imread("image.jpg")
cv2.imshow('Test',img)
if cv2.waitKey(0) & 0xff == 27:
cv2.destroyAllWindows()