2012-01-04 21 views
1

私は画像6750x6450 pxを持っており、OpenCvからimshow()関数で表示しようとしています。 1つのイメージを表示すると、2つのイメージを表示しようとするとseqfaultが表示されて、ひどく表示されます(一部の有線出力)。これらの画像をHDDに保存すると良い結果が得られ、画像は保存され、正しい場合はサイズを変更すると正しく表示されます。 imshow()関数はいくつかのサイズ制限を持っていますか?Imshow()サイズ制限

コード:私はWindows 7のデスクトップコンピュータ上で64ビット

+1

こんにちは、私は確かにOpenCVは大きなサイズの画像のために設計されていません。あなたのアーキテクチャは何ですか?デスクトップコンピューター? 32/64ビット? Windows、Linux? あなたのイメージよりも大きなイメージを使用している人の例が見つかりました:http://tech.groups.yahoo.com/group/OpenCV/message/42362 – jlengrand

+0

私の質問を編集し、私のプラットフォームの詳細を提供しました。 – krzych

答えて

1

を働いている

Mat bigImage1 = imread(...); 
Mat bigImage2 = imread(...); 
namedWindow("first",CV_WINDOW_FULLSCREEN); 
namedWindow("second",CV_WINDOW_FULLSCREEN); 
imshow("first",bigImage1); 
imshow("second",bigImage2); 

イメージがあなたの現在の画面解像度よりもおそらく大きくなっています。問題は、OpenCVがウィンドウ内でそれらを処理するにはあまりにも大きすぎるように思われる。

一定であるためにOpenCVのは、クロスプラットフォームであり、すべてのOSのための特定のウィンドウ管理の実装があるので、私は、MacやLinux上でコードをしようとするだろう。

+1

この画像が大きければ、imshow以外の視覚化装置が必要です。 Python Matplotlibのラインに沿ったものは、視覚化のためにサイズを変更できるのでまたは単にイメージとして保存します。 –

関連する問題