Install OpenCV-2.4.10 VisualStudio C++2010 32bit

Open Source Computer Vision แปลตามตัวคือเป็น library สำหรับช่วยเขียนโปรแกรมประมวลผลภาพ

โหลด Visual Studio 2010 Express ใช้ฟรี1เดือน http://www.visualstudio.com/en-us/downloads#d-2010-express

วิธีติดตั้งหลักๆ

1. add folder bin ลงใน path ของ environment variable (ไม่จำเป็นในขั้นตอน compile แต่ถ้าไม่ add จะ run ไม่ผ่าน)

2. add folder include ลงใน include directories หรือ additional include directories ก็ได้

3. add folder lib ลงใน library directories หรือ additional library directories ก็ได้

4. ใส่ชื่อไฟล์ .lib ทั้งหมด ลงใน Additional Dependencies

วิธีติดตั้งละเอียด

1.download ไฟล์ ที่ http://sourceforge.net/projects/opencvlibrary/

2.Install ไว้ที่ไหนก็ได้ เช่น สร้างโฟลเดอร์ใหม่ที่ D:\OpenCV2.4.10

เสร็จแล้วจะได้


กดโฟลเดอร์ opencv เข้าไปเจอ


เป็นอันว่าติดตั้งเสร็จแล้วร้อย (จริงๆเหมือนแค่แตกไฟล์เฉยๆ สามารถ copy ทั้งโฟลเดอร์ย้ายไปอยู่ที่อื่นก็ได้)

3.เพิ่ม directory ของ openCV ใน system path


  • คลิกขวาที่ Computer เลือก Propeties > Advanced ayatem settings > Environment Variables 
  • ดับเบิ้ลคลิก ที่ "Path" จะมีPop-up Edit System variable โผล่ขึ้นมา
  • copy ;D:\OpenCV2.4.10\opencv\build\x86\vc10\bin ไปวางต่อท้ายในช่อง
  • *เครื่องหมาย ; เอาไว้คั่นระหว่าง directory อันอื่นที่เขียนต่อกัน
  • *ในช่อง variable value ถ้ามีช่องว่างเกินมาแค่ตัวนึง จะทำให้ตอน run project เกิด System error "opencv_core2410d.dll is missing" ได้




การเพิ่ม directory ลงไปใน system path นั้น เข้าใจว่าทำเพื่อให้คอมสามารถเรียกใช้ ไฟล์ที่อยู่ใน directory นั้นตรงๆได้เลย เช่น กด start แล้วพิมพ์ opencv_performance.exe (ซึ่งอยู่ใน directoryเมื่อกี้)ในช่อง search แล้ว enter ก็จะเข้าโปรแกรมนั้นได้เลย

แต่ถ้าหากลองพิมพ์ชื่อโปรแกรมอื่นโดยไม่ใส่ที่อยู่ข้างหน้า ก็จะหาไม่เจอ เช่น จะเปิดโปรแกรม Kies.exe ก็ต้องพิมพ์แบบเต็ม C:\Program Files (x86)\Samsung\Kies\Kies.exe ในช่อง search

4.ตั้งค่าใน Visual Studio 


สร้าง Win32Consoal Applicaiton > next > ติ๊กถูกที่ Empty Project
คลิกขวาที่โปรเจคที่พึ่งสร้าง เลือก Properties

4.1 เพิ่ม include library

เลือก Configuration Properties > VC++ Directory > กด edit ที่ Include Directories > เพิ่ม directory  D:\OpenCV2.4.10\opencv\build\include เข้าไป


4.2 เพิ่ม library path

เลือก Configuration Properties > VC++ Directory> กด edit ที่ Library Directories > เพิ่ม directory D:\OpenCV2.4.10\opencv\build\x86\vc10\lib เข้าไป


4.3 เลือก Configuration Properties > Linker > Input > กด edit ที่ Additional Dependencies

เพิ่มชื่อไฟล์ ด้านล่างเข้าไป (เป็นไฟล์ใน D:\OpenCV2.4.10\opencv\build\x86\vc10\lib ที่เราพึ่งเพิ่ม library path ไปเมื่อกี้)

opencv_calib3d2410d.lib
opencv_contrib2410d.lib
opencv_core2410d.lib
opencv_features2d2410d.lib
opencv_flann2410d.lib
opencv_gpu2410d.lib
opencv_highgui2410d.lib
opencv_imgproc2410d.lib
opencv_legacy2410d.lib
opencv_ml2410d.lib
opencv_nonfree2410d.lib
opencv_objdetect2410d.lib
opencv_ocl2410d.lib
opencv_photo2410d.lib
opencv_stitching2410d.lib
opencv_superres2410d.lib
opencv_ts2410d.lib
opencv_video2410d.lib
opencv_videostab2410d.lib        


*สังเกตุว่า ในช่อง (2)Additional Dependencies จะใช้เครื่องหมาย ; คั่นระหว่างไฟล์ หาก ชื่อไฟล์ที่เราใส่ไปเยอะๆเมื่อกี้ ถูกคั่นด้วย spaebar จะทำให้เกิด LINK : fatal error LNK1104: cannot open file '.obj'

*ชื่อไฟล์ที่มี d ต่อท้ายใช้สำหรับ Debug solution , ถ้าจะ Compile เป็น Release solution ให้เอา d ออก


5.test project สร้างไฟล์ .cpp ขึ้นมา 



copy โค๊ดตัวอย่าง โดยโค๊ดนี้จะเปิดไฟล์ภาพชื่อ test.jpg ในไดร์ฟ D: 


#include <opencv2/highgui/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;

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


6.ลอง run โค๊ดอื่นๆดู มีโค๊ดตัวอย่างที่ D:\OpenCV2.4.10\opencv\sources\samples\cpp


7.หมายเหตุ 

ถ้าเจอ fatal error C1083: Cannot open include file: 'opencv2/highgui/highgui.hpp': No such file or directory

ให้ใส่ D:\OpenCV2.4.10\opencv\build\include ในช่อง C/C++ > General > Additional Include Directory

(เมนูนี้จะโผล่มาหลังเรา add file .cpp)


จบ

2014/10/23