2016-05-15 7 views
0

OpenCV(バージョン2.4.8)でのキーポイント照合を検討中です。それらのより良い理解を得るために、キーポイントおよび/または記述子をプリントアウトしようとすると:OpenCV 2.4.8、Python:SIFTキーポイントとディスクリプタを出力できません。

test_img = cv2.imread('../../Downloads/stanford.jpg') 

print len(test_img) 

detector = cv2.FeatureDetector_create("SIFT") 
descriptor = cv2.DescriptorExtractor_create("SIFT") 

sskp = detector.detect(test_img) 
sskp, ssd = descriptor.compute(test_img, sskp) 

print sskp, ssd 

コードはコンパイルが、については何も印刷されません。ここでは、出力は次のようになります。ここでは

/usr/bin/python2.7 /home/.../test_sift.py 
683 

Process finished with exit code 139 

は "stanford.jpg" の画像です: http://web.stanford.edu/group/iuc/assets/bg6.jpg

printはここで働いていないのはなぜ?

+0

「何も印刷していません」という正確な意味は?これらの変数が空の文字列(たとえそうでないかもしれない)であっても、少なくとも改行を出力するからです。あなたは '' None''を見ていますか?イメージが実際にロードされたかどうかはテストされません( 'imread'は例外をスローしません)。イメージが実際にロードされたことは確かですか? –

+0

申し訳ありませんが、あなたは正しいです、私は投稿を更新しました。戻り値: 'プロセスは終了コード139で終了しました'。私はまた、実際に画像がテストされている。 –

+0

ああ、その出口コードは重要です、それはsegfaultです。 OpenCVのバグかもしれませんが、このバージョンは約2.5年前から修正されています。より新しいバージョンにアップグレードできますか? –

答えて

1

DanMašekが示唆したように、明らかに、これはOpenCVの古いバージョンのバグでした。 OpenCV 2.4.12にアップグレードすると問題が解決しました。

関連する問題