2011-01-04 17 views
1

Windows 7で標準のPythonシェルを使用してOpenCVを実行すると、次のような動作が発生します。OpenCVがcv.Resizeでクラッシュする

import cv 
im = cv.LoadImageM("data/somefile.jpg") 
thumb = cv.CreateMat(im.rows/6, im.cols/6, im.type) 

print "Before" 
cv.Resize(im, thumb) 
print "After" 

は与える:

>>> Before 
========================= RESTART ========================== 

エラーは私がどうあるべきか、スローされませんか? OpenCV/Pythonでクラッシュする原因は何ですか?

+0

このコードは、http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencvのOpenCV 2.2バイナリで動作します。 – cgohlke

答えて

1

私はトリックをしたMinGWの、の代わりに、 2010(エクスプレス)のVisual Studioを使用してOpenCVのを再構築しなければならなかったので、私はそれが最終的にはちょうど障害のあるビルドだったと思います。

1

OpenCVでのメモリ割り当てのほとんどがチェックされていないため、クラッシュする可能性があります。 OpenCVはまた、Cコードで例外をスローしようとします。これは、コンパイルの仕方によっては何かが起こる可能性があります(通常はクラッシュ)。

im.rows/6などの値が期待どおりで、画像のサイズがPythonのメモリ制限内であることを確認してください。

0

私はあなたのプログラムがクラッシュしているとは思わないが、あなたの言うことをやっているだけです。 以下のコードを参照してください。openCv 2.2をpython 2.7.2で使用しています.WaitKey()を使用してクラッシュを防止してください!

import cv 
cv.NamedWindow("win",cv.CV_WINDOW_AUTOSIZE) 
im= cv.LoadImageM("image.jpg") 
thumb= cv.CreateMat(im.rows/3, im.cols/3, im.type) 
cv.Resize(im, thumb) 
cv.ShowImage("win",thumb) 
cv.WaitKey(10000) 
+1

少なくとも「After」という行は印刷されていなければなりません。 – noio

関連する問題