cv2.imread在脚本中失败,而不是在命令行上
cv2.imread("some.jpg")
无法读取许多不同的jpgs。 我检查了一百万种不同的东西:
3.4.3
和3.1.0
。 img/filename
与print(os.path.exists(filename)) # prints True
存在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
调整大小时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
。
该脚本可能以不同的用户身份执行,具有不同的权限或者位于与在命令行上执行代码不同的位置。
os.path.isfile
检查代码中是否存在文件 import cv2
img=cv2.imread("image.jpg")
cv2.imshow('Test',img)
if cv2.waitKey(0) & 0xff == 27:
cv2.destroyAllWindows()
链接地址: http://www.djcxy.com/p/54721.html