Just My Life & My Work

安裝好OpenCV之後,接下來就要測試能否運行,我們以最簡單的顯示影像 (Display Image)來做示範。

/**
	Theme: Display Image
	Compiler: Visual Studio 2010 with OpenCV 2.4
	Date: 101/06/01
	Author: HappyMan
	Blog: https://cg2010studio.wordpress.com/
*/
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main( int argc, char** argv ){
	Mat image;
	if( argc != 2){
		cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;
		image = imread("HappyMan's Girl.jpg", CV_LOAD_IMAGE_COLOR);
		// Read the file
	}
	else{
		image = imread(argv[1], CV_LOAD_IMAGE_COLOR);
	}

	if(! image.data ){// Check for invalid input
		cout <<  "Could not open or find the image" << endl ;
		system("pause");
		return -1;
	}

	namedWindow( "HappyMan - Display window", CV_WINDOW_AUTOSIZE );
	// Create a window for display.
	imshow( "HappyMan - Display window", image );
	// Show our image inside it.

	waitKey(0);
	// Wait for a keystroke in the window
	return 0;
}
imread(const string& filename, int flags=1)

參數:

  • filename – Name of file to be loaded.
  • flags – Flags specifying the color type of a loaded image:
    >0 Return a 3-channel color image
    =0 Return a grayscale image
    <0 Return the loaded image as is.

支援圖檔型態:

  • Windows bitmaps – *.bmp, *.dib (always supported)
  • JPEG files – *.jpeg, *.jpg, *.jpe (see the Notes section)
  • JPEG 2000 files – *.jp2 (see the Notes section)
  • Portable Network Graphics – *.png (see the Notes section)
  • Portable image format – *.pbm, *.pgm, *.ppm (always supported)
  • Sun rasters – *.sr, *.ras (always supported)
  • TIFF files – *.tiff, *.tif (see the Notes section)

namedWindowimshow的第一個參數要設定一樣,否則執行後會跳出兩個視窗。

display_image.h需改為display_image.cpp才能通過編譯。

我已修改sample code,讓原本只能在命令提示字元執行指令:

  • OpenCV2.4test.exe “HappyMan’s Girl.jpg"

能夠直接在編譯後執行,只要將影像檔放在執行檔同資料夾即可。

這裡依然拿我的MV女孩的相片來測試~

參考:Reading and Writing Images and Video

Comments on: "[OpenCV] 顯示影像 (Display Image)" (41)

  1. 您好:
    最近碰到這個問題
    錯誤 1 error LNK1104: 無法開啟檔案 ‘winspool.lib’ C:\Users\20110716\Desktop\ConsoleApplication1\ConsoleApplication1\LINK ConsoleApplication1
    不知道該如何解決…

  2. 您好 :
    最近出現這個問題
    錯誤 1 error LNK1104: 無法開啟檔案 ‘winspool.lib’ C:\Users\20110716\Desktop\ConsoleApplication1\ConsoleApplication1\LINK ConsoleApplication1
    不知道該如何解決… 網路上似乎也找不太找載點

  3. […] 已經使用MacBook Air三年多的我,現在想捲土重來寫影像處理的程式,可以直接用Mac OSX來實作!在忙完安裝且設定開發環境後,首先測試是否能順利顯示影像 (Display Image)。另外,可參考先前在Windows上寫的顯示影像 (Display Image),兩者code大同小異,跨平台可真好,寫一次便能跑多平台! […]

  4. […] 想要知道是否安裝成功,可以參考這一篇:顯示影像 (Display Image)。 […]

  5. 你好,我出現這個問題
    fatal error LNK1123: 轉換成 COFF 時失敗: 檔案無效或損毀
    我要如何解決呢?

  6. 你好 ~
    我是Opencv新兵 使用你的範例之後
    視窗顯示Could not open or find the image
    請問=_="圖片該放哪呢? (完全新手)

  7. 你好,我剛照你的方法安裝完visual studio 2012 & OpenCV2.4.3
    並且執行了上面的程式碼
    但卻出現 (無法啟動程式 C:\user…\…\projects\consoleApplication1\Debug\consoleApplication1.exe 系統找不到指定的檔案)的錯誤
    請問是我擺放專案的位置錯了 還是cpp檔放錯位置
    還是其他的原因呢?
    謝謝

  8. 您好:
    我剛剛才安裝完 Visual Studio 2010&& OpenCV 2.4
    但在測試這個程式碼時,建置後卻出現了": fatal error C1083: 無法開啟包含檔案: ‘opencv2/core/core.hpp’: No such file or directory"
    是因為我只有複製程式碼嗎?有遺漏了些甚麼嗎?
    謝謝

    • 嗨~你好!我有收到你的信,我想是不是你的安裝路徑有誤,也許你可以去opencv2/core/這個資料夾找一下core.hpp,若有的話,表示路徑設定錯誤。
      其實依照我的安裝教學,路徑若照我那樣設定,應該沒有問題才是唷~ 🙂

  9. 請問為什麼要寫 if( argc != 2){

    ?

  10. 您好,想請問一下我在使用您的範例碼的時候,
    #include
    #include
    這兩行都是no such file 請問有可能是什麼造成的呢?

    • 你OpenCV版本多少?我這程式碼適用2.4版之後版本,安裝環境可參考我的文章,之中有路徑設定,決定你能否順利存取到那些檔案。

隨意留個言吧:)~

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

標籤雲

%d 位部落客按了讚: