2016-04-26 10 views
2

最近、私はpythonでopencvを使用します。imread関数を使用してopencvでjpgファイルを読み込む際に問題が発生する可能性はありますか?

私はpythonでCV2モジュールをインポートするとき、私は使用してシステム・パスに手動でcv2.soファイルパスを追加する必要があり、気づいたよう:

sys.path.append('/path/to/cv.so') 

私が欲しいHowewer、 ipythonのノートPCにJPGファイルを読むために、それは失敗します。my previous questionに基づき

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' 

、私はOpenCVの数回を再構築しました。

私はsomewhereを読んでいます。これは、依存関係の問題の結果である可能性があります。しかし私のシステムには、両方のパッケージ(libjpegとlibjaspe)があります。

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) 

何か考えてください。

+0

あなたの作業ディレクトリに 'pic1.jpg 'が存在していますか?このエラーは、単にファイルのパスが正しくないことを示しています。すべての依存関係は問題ないと思われます。 – ZdaR

+0

@ ZdaRはい、私はそれを数回チェックしました。 – Ali

答えて

1

は努力をたくさんした後、私は解決策を追加することであることに気づい:

PYTHONPATH="" 
export PYTHONPATH 
PATH=/usr/bin:/usr/local/bin 
export PATH 

/home/.bashrcファイルの末尾に(それらを恒久的なものにする)、 のpythonを実行する前にまたはipythonノートブック端末から。

:YUM(!もちろんのFedoraユーザーのための)(DNF)リポジトリとのpython 2.7から(自分のマシンアーキテクチャに基づく)のみOpenCVの-python.x86_64を使用しています。

DO NOT opencvをwebsiteからダウンロードしてください。それはいくつかの依存関係の問題を引き起こします。

関連する問題