安裝好OpenCV之後,接下來就要測試能否運行,我們以最簡單的顯示影像 (Display Image)來做示範。
- 環境設定參考:Visual Studio 2010 安裝 OpenCV 2.4
- 範例程式:C:\OpenCV2.4\samples\cpp\tutorial_code\introduction\display_image\display_image.cpp
/**
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)
namedWindow和imshow的第一個參數要設定一樣,否則執行後會跳出兩個視窗。
display_image.h需改為display_image.cpp才能通過編譯。
我已修改sample code,讓原本只能在命令提示字元執行指令:
- OpenCV2.4test.exe “HappyMan’s Girl.jpg"
能夠直接在編譯後執行,只要將影像檔放在執行檔同資料夾即可。
這裡依然拿我的MV女孩的相片來測試~

Comments on: "[OpenCV] 顯示影像 (Display Image)" (41)
您好:
最近碰到這個問題
錯誤 1 error LNK1104: 無法開啟檔案 ‘winspool.lib’ C:\Users\20110716\Desktop\ConsoleApplication1\ConsoleApplication1\LINK ConsoleApplication1
不知道該如何解決…
讚讚
您好 :
最近出現這個問題
錯誤 1 error LNK1104: 無法開啟檔案 ‘winspool.lib’ C:\Users\20110716\Desktop\ConsoleApplication1\ConsoleApplication1\LINK ConsoleApplication1
不知道該如何解決… 網路上似乎也找不太找載點
讚讚
[…] 已經使用MacBook Air三年多的我,現在想捲土重來寫影像處理的程式,可以直接用Mac OSX來實作!在忙完安裝且設定開發環境後,首先測試是否能順利顯示影像 (Display Image)。另外,可參考先前在Windows上寫的顯示影像 (Display Image),兩者code大同小異,跨平台可真好,寫一次便能跑多平台! […]
讚讚
[…] 想要知道是否安裝成功,可以參考這一篇:顯示影像 (Display Image)。 […]
讚讚
你好,我出現這個問題
fatal error LNK1123: 轉換成 COFF 時失敗: 檔案無效或損毀
我要如何解決呢?
讚讚
這問題我沒遇過耶〜
讚讚
你好 ~
我是Opencv新兵 使用你的範例之後
視窗顯示Could not open or find the image
請問=_="圖片該放哪呢? (完全新手)
讚讚
與執行檔同資料夾即可唷!
讚讚
你好,我剛照你的方法安裝完visual studio 2012 & OpenCV2.4.3
並且執行了上面的程式碼
但卻出現 (無法啟動程式 C:\user…\…\projects\consoleApplication1\Debug\consoleApplication1.exe 系統找不到指定的檔案)的錯誤
請問是我擺放專案的位置錯了 還是cpp檔放錯位置
還是其他的原因呢?
謝謝
讚讚
應該是編譯沒有通過,所以找不到該exe擋,你可以到專案中資料夾debug或release中找看看~
讚讚
可是我的project中沒有產生任何的.exe檔0.0
那編譯沒有過的原因是上面的設定有誤嘛?
又該如何排除?
謝謝
讚讚
沒有產生exe檔代表編譯失敗,IDE下方會有編譯訊息,你可以看一下error的部份。
讚讚
您好:
我剛剛才安裝完 Visual Studio 2010&& OpenCV 2.4
但在測試這個程式碼時,建置後卻出現了": fatal error C1083: 無法開啟包含檔案: ‘opencv2/core/core.hpp’: No such file or directory"
是因為我只有複製程式碼嗎?有遺漏了些甚麼嗎?
謝謝
讚讚
嗨~你好!我有收到你的信,我想是不是你的安裝路徑有誤,也許你可以去opencv2/core/這個資料夾找一下core.hpp,若有的話,表示路徑設定錯誤。
其實依照我的安裝教學,路徑若照我那樣設定,應該沒有問題才是唷~ 🙂
讚讚
請問為什麼要寫 if( argc != 2){
?
讚讚
因為這個範例程式規定要傳入「兩個參數」,
若你沒傳入兩個參數的話,
就會執行讀取「預設影像」,
也就是我預設的影像「HappyMan’s Girl.jpg」。
讚讚
恩,可是單純這樣跑~應該是沒有傳入值吧?
除非是從別的程式呼叫這個cpp裡的main ?
讚讚
其實「執行檔名稱+副檔名」是第一個參數。
讚讚
您好,想請問一下我在使用您的範例碼的時候,
#include
#include
這兩行都是no such file 請問有可能是什麼造成的呢?
讚讚
你OpenCV版本多少?我這程式碼適用2.4版之後版本,安裝環境可參考我的文章,之中有路徑設定,決定你能否順利存取到那些檔案。
讚讚