This is tutorial I will show how to configure Microsoft Visual C++ 2010 with Opencv 2.3.1 on Windows 7, all of which are executed on the architecture of 64 Bit.
หลังจากผมผ่านการสอบโครงร่างวิทยานิพนธ์เรียบร้อยแล้ว ก็ได้เวลาลงมือทำวิทยานิพนธ์จริงๆซะที
ตอนนี้ผมต้องเตรียมเครื่องคอมพิวเตอร์สำหรับการทำวิทยานิพนธ์ วันนี้จะมาอธิบายการติดตั้งและปรับแต่งการใช้งาน OpenCV 2.3.1 ร่วมกับ Microsoft Visual C++ 2010 บน Windows 7 ซึ่งทั้งหมดจะรันบนสถาปัตยกรรมแบบ 64 Bit
ตอนนี้ OpenCV ออกรุ่นล่าสุด คือ 2.3.1 สามารถดาวโหลดได้จาก
Download OpenCV from http://opencv.willowgarage.com/wiki/
Extract file to you folder --> such as c:\OpenCV2.3.1
ซึ่งภายในโฟลเดอร์นี้จะมีโฟลเดอร์ย่อยหลายโฟลเดอร์ และจะพบโฟลเดอร์ชื่อ build ด้วย
***ตอนรัน โปรแกรมอาจถามหาไฟล์ tbb_debug.dll ซึ่งดาวน์โหลดได้จาก OpenCV2.3 แล้ว copy
จาก C:\OpenCV2.3\build\x64\vc10\bin มาใส่ใน C:\OpenCV2.3.1\build\x64\vc10\bin
และ
จาก C:\OpenCV2.3\build\x86\vc10\bin มาใส่ใน C:\OpenCV2.3.1\build\x86\vc10\bin
1.
เพิ่ม Path ที่จำเป็นต้องใช้
Control Panel -> System -> Advanced system settings -> Tab Advanced -> Environment Variables...
ที่ System variables -> Path -> เพิ่ม Path ต่อท้าย ดังนี้ C:\OpenCV2.3.1\build\x64\vc10\bin;
โดย
x64 สำหรับ 64 bit
x86 สำหรับ 32 bit
vc10 สำหรับ Visual Studio 2010
vc9 สำหรับ Visual Studio 2008
2.
Setting environment for using Microsoft Visual Studio 2010 x64 tools.
เปิดใช้งาน Microsoft Visual C++ 2010 64 bit
Microsoft Visual Studio 2010 -> Visual Studio Tools -> Visual Studio Command Prompt (2010)
พิมพ์ vcvarsall.bat amd64
3.
เปิด Microsoft Visual C++ 2010
File -> New -> Project
ที่ Installed Templates -> Visual C++ -> ด้านขวามือเลือก Windows Forms Application
4.
Tools Bar ตรง Win32 คลิก เพื่อเลือก Configuration Manager
Platform -> New -> New platform: เลือก x64
5.
Config Solution เพิ่มเติม ดังนี้
ที่ Solution Explorer
คลิกขวาที่ ชื่อ Solution -> Property
C/C++ -> General
*** Configuration -> All Configurations
Platform -> Active(x64)
Additional Include Directories เพิ่มพาธ C:\OpenCV2.3.1\build\include
Common Language RunTime Support -> Common Language RunTime Support(/clr)
6.
Linker -> Input
Additional Dependencies เพิ่ม libraries ที่ต้องการใช้ ที่จำเป็นได้แก่
6.1
*** Configuration -> Debug
Platform -> Active(x64)
C:\OpenCV2.3.1\build\x64\vc10\lib\opencv_core231d.lib
C:\OpenCV2.3.1\build\x64\vc10\lib\opencv_highgui231d.lib
C:\OpenCV2.3.1\build\x64\vc10\lib\opencv_objdetect231d.lib
6.2
*** Configuration -> Release
Platform -> Active(x64)
C:\OpenCV2.3.1\build\x64\vc10\lib\opencv_core231.lib
C:\OpenCV2.3.1\build\x64\vc10\lib\opencv_highgui231.lib
C:\OpenCV2.3.1\build\x64\vc10\lib\opencv_objdetect231.lib
7.
เอา Button มาวางบน Form1
ที่ Form1.h ส่วนบนของไฟล์ก่อน namespace เพิ่ม
#include "opencv2\opencv.hpp"
ลองทดสอบโปรแกรมง่ายๆ โดยพิมพ์ตัวอย่างที่ button1_Click
// Open the file. Copy photo.jpg to source code folder
IplImage *img = cvLoadImage("photo.jpg");
if (!img) {
MessageBox::Show("Error: Couldn't open the image file.","Error", _
MessageBoxButtons::OK,MessageBoxIcon::Error);
}
else {
// Display the image.
cvNamedWindow("Image:", CV_WINDOW_AUTOSIZE);
cvShowImage("Image:", img);
// Wait for the user to press a key in the GUI window.
cvWaitKey(0);
// Free the resources.
cvDestroyWindow("Image:");
cvReleaseImage(&img);
}
ตอนนี้ผมต้องเตรียมเครื่องคอมพิวเตอร์สำหรับการทำวิทยานิพนธ์ วันนี้จะมาอธิบายการติดตั้งและปรับแต่งการใช้งาน OpenCV 2.3.1 ร่วมกับ Microsoft Visual C++ 2010 บน Windows 7 ซึ่งทั้งหมดจะรันบนสถาปัตยกรรมแบบ 64 Bit
ตอนนี้ OpenCV ออกรุ่นล่าสุด คือ 2.3.1 สามารถดาวโหลดได้จาก
Download OpenCV from http://opencv.willowgarage.com/wiki/
Extract file to you folder --> such as c:\OpenCV2.3.1
ซึ่งภายในโฟลเดอร์นี้จะมีโฟลเดอร์ย่อยหลายโฟลเดอร์ และจะพบโฟลเดอร์ชื่อ build ด้วย
***ตอนรัน โปรแกรมอาจถามหาไฟล์ tbb_debug.dll ซึ่งดาวน์โหลดได้จาก OpenCV2.3 แล้ว copy
จาก C:\OpenCV2.3\build\x64\vc10\bin มาใส่ใน C:\OpenCV2.3.1\build\x64\vc10\bin
และ
จาก C:\OpenCV2.3\build\x86\vc10\bin มาใส่ใน C:\OpenCV2.3.1\build\x86\vc10\bin
1.
เพิ่ม Path ที่จำเป็นต้องใช้
Control Panel -> System -> Advanced system settings -> Tab Advanced -> Environment Variables...
ที่ System variables -> Path -> เพิ่ม Path ต่อท้าย ดังนี้ C:\OpenCV2.3.1\build\x64\vc10\bin;
โดย
x64 สำหรับ 64 bit
x86 สำหรับ 32 bit
vc10 สำหรับ Visual Studio 2010
vc9 สำหรับ Visual Studio 2008
2.
Setting environment for using Microsoft Visual Studio 2010 x64 tools.
เปิดใช้งาน Microsoft Visual C++ 2010 64 bit
Microsoft Visual Studio 2010 -> Visual Studio Tools -> Visual Studio Command Prompt (2010)
พิมพ์ vcvarsall.bat amd64
3.
เปิด Microsoft Visual C++ 2010
File -> New -> Project
ที่ Installed Templates -> Visual C++ -> ด้านขวามือเลือก Windows Forms Application
4.
Tools Bar ตรง Win32 คลิก เพื่อเลือก Configuration Manager
Platform -> New -> New platform: เลือก x64
5.
Config Solution เพิ่มเติม ดังนี้
ที่ Solution Explorer
คลิกขวาที่ ชื่อ Solution -> Property
C/C++ -> General
*** Configuration -> All Configurations
Platform -> Active(x64)
Additional Include Directories เพิ่มพาธ C:\OpenCV2.3.1\build\include
Common Language RunTime Support -> Common Language RunTime Support(/clr)
6.
Linker -> Input
Additional Dependencies เพิ่ม libraries ที่ต้องการใช้ ที่จำเป็นได้แก่
6.1
*** Configuration -> Debug
Platform -> Active(x64)
C:\OpenCV2.3.1\build\x64\vc10\lib\opencv_core231d.lib
C:\OpenCV2.3.1\build\x64\vc10\lib\opencv_highgui231d.lib
C:\OpenCV2.3.1\build\x64\vc10\lib\opencv_objdetect231d.lib
6.2
*** Configuration -> Release
Platform -> Active(x64)
C:\OpenCV2.3.1\build\x64\vc10\lib\opencv_core231.lib
C:\OpenCV2.3.1\build\x64\vc10\lib\opencv_highgui231.lib
C:\OpenCV2.3.1\build\x64\vc10\lib\opencv_objdetect231.lib
7.
เอา Button มาวางบน Form1
ที่ Form1.h ส่วนบนของไฟล์ก่อน namespace เพิ่ม
#include "opencv2\opencv.hpp"
ลองทดสอบโปรแกรมง่ายๆ โดยพิมพ์ตัวอย่างที่ button1_Click
// Open the file. Copy photo.jpg to source code folder
IplImage *img = cvLoadImage("photo.jpg");
if (!img) {
MessageBox::Show("Error: Couldn't open the image file.","Error", _
MessageBoxButtons::OK,MessageBoxIcon::Error);
}
else {
// Display the image.
cvNamedWindow("Image:", CV_WINDOW_AUTOSIZE);
cvShowImage("Image:", img);
// Wait for the user to press a key in the GUI window.
cvWaitKey(0);
// Free the resources.
cvDestroyWindow("Image:");
cvReleaseImage(&img);
}