หน้าเว็บ

วันอังคารที่ 1 พฤศจิกายน พ.ศ. 2554

OpenCV 2.3.1 + MS-VC++ 2010 (Windows Forms App.) + Windows 7 (All 64 Bit)

After I pass the thesis proposal. The time to do the thesis. Now I need environment setup on my computer for the thesis.
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);
        }