2014-11-15 30 views
0

我有一個尺寸爲4096 X 2304的圖像。我可以在雙擊時查看該圖像。 然後我想寫我自己的opencv(ver 2.4.3)程序來顯示這個圖像。但圖像不適合在屏幕上。它只顯示50%,其餘部分正在切割。全圖不使用imshow

這是我對圖像顯示的代碼:

#include "stdafx.h" 
#include <opencv2/highgui/highgui.hpp> 
#include <iostream> 

    using namespace cv; 
    using namespace std; 

    int main() 
    { 
     Mat im = imread("1.jpg"); 
     if (im.empty()) 
     { 
      cout << "Cannot load image!" << endl; 
      return -1; 
     } 
     imshow("Image", im); 
     waitKey(0); 
    } 

我的顯示器的屏幕分辨率爲1366 x 768最大。

那麼爲什麼我的程序無法顯示完整的未切割圖像?

+0

你顯示的圖像比你scteen更大,這就是爲什麼你不能顯示它;) – Micka

+0

嘗試CV: :namedWindow(「Image」,WINDOW_AUTOSIZE);在imshow和調整大小之前;) – Micka

+0

我的意思是命名窗口與WINDOW_NORMAL參數...不autosize – Micka

回答

0

試試這個(我已經做了部分修改你的代碼,只是勇敢位0_0):

Mat im_s = imread("myimg", CV_LOAD_IMAGE_COLOR); 

    if (im_s.empty()) 
    { 
     cout << "Cannot load image!" << endl; 
     return -1; 
    } 

namedWindow("Myimg", WINDOW_AUTOSIZE); 

Size size(4096,2304); 
Mat im; 
resize(im_s, im, size); 

imshow("Myimg", im); 

waitkey(0); 

return 0; 
+0

這不起作用。我想我也需要調整它。 –

+0

@TabishSaifullah更新回答:) – ha9u63ar

+0

感謝您的更新,但調整大小不起作用。錯誤錯誤C3861:'調整大小':找不到標識符。 (我的opencv版本是2.4.3) –

相關問題