Я работаю над панелью инструментов в Python, где я использую функцию cv2.imread
для загрузки изображений.cv2.imread не читает файлы jpg
Пока я работаю с .png
файлами, это нормально, но он возвращает NoneType
, когда я хочу прочитать файл .jpg
из той же папки.
- Почему это происходит? и как я могу это исправить?
- Как читать изображения из подпапки?
Благодаря
import sys
import numpy as np
import os
sys.path.append("/usr/local/lib1/python2.7/site-packages")
import cv2
im1=cv2.imread('pic1.png')
print im1.shape
#output: (512, 512, 3)
im2=cv2.imread('pic1.jpg')
print im2.shape
#output:
-------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-8-2d36ac00eca0> in <module>()
----> 1 print im2.shape
AttributeError: 'NoneType' object has no attribute 'shape'
print cv2.getBuildInformation()
Media I/O:
ZLib: /lib64/libz.so (ver 1.2.8)
JPEG: /lib64/libjpeg.so (ver 80)
WEBP: /lib64/libwebp.so (ver encoder: 0x0202)
PNG: /lib64/libpng.so (ver 1.6.17)
TIFF: /lib64/libtiff.so (ver 42 - 4.0.2)
JPEG 2000: /lib64/libjasper.so (ver 1.900.1)
Две картины находятся в моей домашней папке:
from os import getcwd, listdir, path
current_dir = getcwd()
files = [f for f in listdir('.') if path.isfile(f)]
print(('Current directory: {c_dir}\n\n'
'Items in the current directory:\n {files}').format(
c_dir=current_dir,
files=str.join('\n ', files)))
#Output:
Items in the current directory:
.node_repl_history
mysh.sh~
test.sh
blender_tofile.sh
**pic1.jpg**
rapid.sh
matlab_crash_dump.8294-1
.gtk-bookmarks
any2any
beethoven.ply
Face.blend
Untitled1.ipynb
sphere1.pbrt
multirow.log
.Xauthority
.gtkrc-2.0-kde4
Theory and Practice.pdf
simple_example.gpx~
pbrt.sh
blender.sh~
Untitled4.ipynb
java.log.3414
kinect_test.py
matlab_crash_dump.7226-1
.bashrc~~
.ICEauthority
infoslipsviewer.desktop
GTW_Global_Numbers.pdf
index.htm
Untitled2.ipynb
**pic1.png**
os.access('pic1.jpg', os.R_OK)
#output:
True
Возможно, проверьте вывод 'print cv2.getBuildInformation()' и посмотрите, была ли библиотека построена с поддержкой JPEG. –
, пожалуйста, проверьте 'os.access ('pic1.jpg', os.R_OK)' и сообщите нам возвращаемое значение – wim
Есть ли вероятность того, что 'pic1.png' существует в нескольких каталогах, так что открытие PNG будет успешным, даже если это глядя в неправильном месте? –