cv2.imread("some.jpg")
fails to read many different jpgs. I have checked a million different things:
- Run the same exact code in a terminal - reads and opens images just fine
- I checked version numbers of both python and cv2 - they are exactly the same:
3.4.3
and3.1.0
. - Used complete paths to files. No difference
- Images exist: I've manually opened dozens to see if there's something thing
- Timing: added pauses just to make sure this wasn't a timing issue.
- Checked to make sure the
img/filename
exists withprint(os.path.exists(filename)) # prints True
- Hardcoded a file path into `img = imread("gif_pos_0pW-p-wb8U4_0.jpg") # print(img)... None
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
is none and the resize line fails with: OpenCV Error: Assertion failed (ssize.area() > 0) in resize, file /home/user/opencv/modules/imgproc/src/imgwarp.cpp, line 3229
This is Ubuntu 15.1 if it matters. Any thoughts on what could be causing this?
Yes, I know this question exists elsewhere. The existing answers have not helped me. I have quadruple checked everything. There seems to be something else going on.
The weirdest part is that cv2 reads the image just fine from the command line, with the same exact python and cv2 versions.
EDIT: this is a script, so I'm just doing python3 train.py
.