2012-01-04 219 views
1

我有圖像6750x6450像素,並試圖用OpenCv中的imshow()函數顯示它。 當我顯示一個圖像時顯示不好(某些有線輸出),當我嘗試顯示兩個圖像時出現seqfault。將這些圖像保存在硬盤上會給出好的結果,圖像會被保存,並且它們是正確的,當我調整它們的大小時,它們也會被正確顯示。 imshow()函數有一些大小限制嗎?Imshow()大小限制

代碼:

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

我工作的桌面計算機上的Windows 7 64位

+1

嗨,我敢肯定的是,OpenCV不是爲大尺寸圖像設計的。你的架構是什麼?臺式電腦? 32/64位? Windows,Linux? 我發現了其他使用大於你的圖片的例子:http://tech.groups.yahoo.com/group/OpenCV/message/42362 – jlengrand 2012-01-04 14:22:28

+0

我編輯了我的問題並提供了我的平臺詳細信息。 – krzych 2012-01-04 14:39:38

回答

1

的圖像可能比當前屏幕分辨率。問題似乎是OpenCV在窗口中處理它們太大了。

爲了確定,我會在Mac或Linux上嘗試您的代碼,因爲OpenCV是跨平臺的,並且每個操作系統都有特定的窗口管理實現。

+1

對於這樣大的圖像,您需要imshow以外的可視化工具。因爲它可以爲可視化目的做一些調整大小,所以沿着Python Matplotlib imshow的一些東西。或者將它保存爲圖像。 – 2012-01-04 16:36:36