嗚嗚喔學習筆記: [OpenCV] Visual Studio 2012 安裝 OpenCV 2.4.6

搜尋此網誌

2013年8月7日 星期三

[OpenCV] Visual Studio 2012 安裝 OpenCV 2.4.6

在常常一的字設定錯誤就會失敗的環境開發中詳細記錄安裝流程是非常必要的!
雖然2010 跟 2012 的相容性方面 蠻麻煩的有BUG但2012起碼界面看來舒暢許多

下面詳細記下安裝 "VC++ 2012 && opencv 2.4.6" 的詳細安裝過程 ::

下載點:

1.Microsoft Visual Studio Express 2012 for Windows Desktop
http://www.microsoft.com/visualstudio/cht/products/visual-studio-express-for-windows-desktop
2. OpenCV2.4.6
http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.6/OpenCV-2.4.6.0.exe/download

安裝步驟:

-----------------------------------------------------------------
SETP 1
解壓縮OpenCV2.4.6 到路徑 "C:\OpenCV246" 
-----------------------------------------------------------------
SETP 2
點選(開始)->(對電腦按右鍵)->(內容)->(變更設定)->(進階)->(環境變數)->(使用者變數)->(新增)
變數名稱 
path
變數值  
C:\OpenCV246\build;C:\OpenCV246\build\x86\vc10\bin;

-----------------------------------------------------------------
SETP 3
在 Visual Studio 2012 中建立 VC++ Win32 主控台應用程式
應用程式設定->其它選項->空專案(勾選)->完成

-----------------------------------------------------------------
SETP 4:點選 專案->屬性->VC++ 目錄 設定
Include 目錄:
C:\OpenCV246\build\include;C:\OpenCV246\build\include\opencv;
程式庫目錄
C:\OpenCV246\build\x86\vc10\lib;

-----------------------------------------------------------------
SETP 5:點選 專案->屬性->連結器->輸入 設定
其他相依性:
opencv_core246d.lib
opencv_calib3d246d.lib
opencv_contrib246d.lib
opencv_features2d246d.lib
opencv_highgui246d.lib
opencv_imgproc246d.lib

-----------------------------------------------------------------
SETP 6:重新開機



範例程式碼:

#include <stdio.h>
#include <cv.h>
#include <highgui.h>
#include <iostream>
using namespace std ;

int main( int argc, char **argv )
{


IplImage *img01;
    CvSize imgsize01 = cvSize(300,300);  // 給圖像SIZE
    img01 = cvCreateImage(imgsize01,IPL_DEPTH_8U,3);//創造img01

int Height=cvGetDimSize(img01,0);//讀取矩陣高度
    int Width=cvGetDimSize(img01,1);//讀取矩陣寬度

//這裡先給img01全白
for(int y = 0 ; y < Height ; y++)
for(int x = 0 ; x < Width ; x++ )
cvSet2D(img01,y,x,CV_RGB(255,255,255));//特別注意 給值是 (y,x)

for(int y = 0 ;y < Width ; y++)
    cvSet2D(img01,y,10,CV_RGB(255,0,0));//特別注意 給值是 (y,x)

for(int x = 0 ;x < Width ; x++)
    cvSet2D(img01,10,x,CV_RGB(0,255,0));//特別注意 給值是 (y,x)


cout<<"(10,100)R ="<<cvGet2D(img01, 100 , 10 ).val[2]<<endl;//試著讀取某個點的RGB值
cout<<"(10,100)G ="<<cvGet2D(img01, 100 , 10 ).val[1]<<endl;//特別注意是cvGet2D(img,y,x)
cout<<"(10,100)B ="<<cvGet2D(img01, 100 , 10 ).val[0]<<endl;//所以在輸入XY時 X 和 Y 要對調


cvNamedWindow("img01",CV_WINDOW_AUTOSIZE);
cvShowImage("img01", img01);
//輸出img01




cvWaitKey(0);
cvReleaseImage(&img01);
cvDestroyAllWindows();
return 0;
}






1 則留言: