Visual C++使用OpenCV顯示圖片

顯示圖片使用的是imshow 函數,OpenCV會建立一個視窗只顯示你給他的圖片

參數1是給視窗的標題,參數2是想要顯示的圖片

顯示之後我們還會加上 waitKey 函數,因為如果只是顯示完圖片,馬上程式就結束了,

我們也就看不到圖片長怎樣了,所以用waitKey讓程式暫停一下。


另外,可以用 namedWindow 函數讓顯示圖片的視窗可以被縮放,

雖然用 CV_WINDOW_NORMAL 可以讓視窗縮放,但是沒有等比例放大,所以實際在觀察圖片的時候要多多留意!


一個例子顯示2倍大的圖片

  namedWindow("Original Color Image", CV_WINDOW_NORMAL); // 讓視窗可以被調整

  imshow("Original Color Image", image);

  resizeWindow("Original Color Image", image.cols*2, image.rows*2); // 讓視窗變大


下面是顯示圖片的範例程式碼


#include
#include


using namespace std;
using namespace cv;

int main(int argc, char** argv)
{
  Mat image;
  try
  {
    
    if (argc > 1)
    {
      image = imread(argv[1], CV_LOAD_IMAGE_COLOR);
    }
    else
    {
      image = imread("image.bmp", CV_LOAD_IMAGE_COLOR);
    }
  }
  catch (Exception& e)
  {
    cerr << e.what() << endl;
    return -1;
  }

  if(! image.data )  
  {
    cout <<  "Could not open or find the image" << endl;
    return -1;
  }

  // namedWindow("Original Color Image", CV_WINDOW_AUTOSIZE); 
  imshow("Original Color Image", image);
  waitKey();

  system("pause");

  return 0;
}

留言