Wednesday, March 27

How to config OpenCV2.4 with VC++ 2010 Express

    ก่อนเราจะมาติดตั้ง OpenCV2.4 กับ Visual C++ 2010 Express เรามาทำความเข้าใจกับ OpenCV สักนิดครับ สั้นๆ เลยก็คือ

OpenCv คือ ไลบรารีที่เปิดให้ใช้เสรี สำหรับงาน Computer Vision ซึ่งได้รับการพัฒนามาอย่างต่อเนื่อง ทำให้มีอัลกอริธึมสำหรับแก้ไขปัญหา Computer Vision มากกว่า 2500 อัลกอริธึม และตัวอย่างโค๊ดสำหรับ computer vision แบบงานเรียลไทม์ ทำงานได้ทั้ง Windows ,Linux, Mac OS X, Android และ iOS

ณ ปัจจุบัน เท่าที่ผมทราบตอนนี้ รองรับทั้งภาษา C++ และ Python ครับ หากใครสาวกไพธอน สามารถติดตั้งได้ตามตัวอย่างนี้ครับ (ติดตั้งสำหรับ Python)


วันนี้เราจะมาติดตั้ง OpenCV2.4 กับ Visual C++ 2010 Express ซึ่งก่อนหน้านี้ ผมเคยติดตั้งไปแล้ว บน Windows XP ครับ แต่ไม่ได้เขียนเอาไว้ ตอนนี้ พออัพเกรดเครื่องมาเป็น Windows7 กลับพบว่า Visual C++ 2010 Express กลับมีความแตกต่างไปจากเดิม คือไม่มีการตั้งค่า VC++ Directories ครับ  ถ้าเราเลือกเมนู Tool->Options ที่ Projects and Solutions และรายการย่อย VC++ Directories จะปรากฏข้อความ VC++ Directories edition in Tools>Options has been deprecated ไปเรียบร้อยแล้ว ดังรูป

OpenCV and VC++ Directories issue

หากต้องการกำหนดค่าต่างๆ ให้โปรเจค VC++ ของเราให้เรียกไลบรารี่ของ OpenCV ให้มาทำงานแล้วหล่ะก็ ให้ทำดังต่อไปนี้ครับ

ซอร์ฟแวร์ที่จะทดสอบ OpenCV2.4 ก็มีดังต่อไปนี้ครับ
- ระบบปฏิบัติการ Windows7
- ไลบรารี่ OpenCV2.4.2 บน windows
- โปรแกรม Visual C++ 2010 Express edition

ทำการดาวน์โหลด OpenCV2.4 และแตกไฟล์ OpenCV ไปไว้ที่ใดๆ ก็ได้บนฮาร์ดดิสก์ของเรา ในที่นี้ผมไว้ที่ Drive E:\software\opencv

ติดตั้ง Visual C++ 2010 Express edition หากคุณยังไม่มี 

เมื่อติดตั้งเรียบร้อยแล้ว ให้ทำการกำหนด Path สำหรับ windows ให้มองเห็น OpenCV ก่อน โดยกำหนด Path ใน  Environment Variables โดยให้เราไปก๊อปปี้ path ของ OpenCV ดังนี้

E:\software\opencv\build\x86\vc10\bin
E:\software\opencv\build\common\tbb\ia32\vc10
 
ไปใส่ต่อจาก path เดิมที่มีอยู่ หากตัวสุดท้ายไม่มีเครื่องหมาย ; ให้เราทำการเติมเครื่องหมาย ; ก่อน แล้วจึงนำ path ทั้งสองไปต่อ จะได้ว่า

......พาธเก่า\bin;E:\software\opencv\build\x86\vc10\bin;E:\software\opencv\build\common\tbb\ia32\vc10;

เสร็จแล้ว กด OK ด้วยนะอย่าลืม แล้วทำการรีสตาร์ทคอมพิวเตอร์ 1 ครั้้ง

Environment Variables OpenCV path

กลับมาตั้งค่ากันต่อ ให้เปิดโปรแกรม Visual C++ 2010 Express แล้วทำการสร้างโปรเจค HelloOpenCV ขึ้นมาครับ ตามรูปเลย

Starting Project OpenCV

 

Starting Project OpenCV

 

OpenCV Project Properties

ที่เมนู C/C++ ให้คลิก Edit ที่  Additional Include Directories แล้วทำการ  Browse ไปหาพาธตามนี้ครับ

E:\software\opencv\build\include\opencv
E:\software\opencv\build\include

กด OK

OpenCV Include path config

และที่ Linker>General ให้คลิก Edit ที่    Additional Library Directories แล้วทำการ  Browse ไปหาพาธตามนี้ครับ

E:\software\opencv\build\x86\vc10\lib

กด OK

OpenCV Linker path setting

และที่ Linker>Input ให้คลิก Edit ที่  Additional Dependencies แล้วเพิ่มไฟล์เหล่านี้ลงไป หรือจะก๊อปปี้ไปก็ได้ครับ แต่ต้องแน่ใจนะว่า เวอร์ชั่นที่เรากำลังกำหนดอยู่นี้ ชื่อไฟล์ตรงกัน หากไม่ตรงกัน ให้แก้ไขก่อน

แต่ไฟล์ lib ที่เราจะเพิ่มเข้าไป นั้นมี 2 ชุดนะครับ ซึ่งไฟล์ที่ลงท้ายด้วยตัว ‘d’ นั้นสำหรับ Configuration แบบ Debug และ ที่ไม่มี 'd’ ต่อท้าย สำหรับ Configuration แบบ Release เราต้องทำแยกกันนะครับ

Cofiguration mode

OpenCV lib file input setting

สำหรับ Debug

opencv_core242d.lib
opencv_imgproc242d.lib
opencv_highgui242d.lib
opencv_ml242d.lib
opencv_video242d.lib
opencv_features2d242d.lib
opencv_calib3d242d.lib
opencv_objdetect242d.lib
opencv_contrib242d.lib
opencv_legacy242d.lib
opencv_flann242d.lib

สำหรับ Release

opencv_core242.lib
opencv_imgproc242.lib
opencv_highgui242.lib
opencv_ml242.lib
opencv_video242.lib
opencv_features2d242.lib
opencv_calib3d242.lib
opencv_objdetect242.lib
opencv_contrib242.lib
opencv_legacy242.lib
opencv_flann242.lib

กด OK แล้วก็ Apply แล้วก็ OK อีกครั้งครับ

จากนั้น ให้ทำการแก้ไขโค๊ดที่ไฟล์ HelloOpenCV.cpp ดังนี้

#include "stdafx.h"
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>


int _tmain(int argc, _TCHAR* argv[])

    const char *windowName = "my cats";
    IplImage *img = cvLoadImage("E:\\cat.png"); // อย่าลืมเอารูปไปวางไว้ที่นี่ด้วย
    cvNamedWindow(windowName,1);
    cvShowImage(windowName,img);

    cvWaitKey(0);
    cvDestroyWindow(windowName);
    cvReleaseImage(&img);
    return 0;

}

หากสังเกตให้ดี ตอนที่เรา #include <cv.h> จะมีตัวช่วยขึ้นมา นั่นบ่งบอกว่าโปรแกรม VC++ มองเห็นพาธที่เรากำหนดไว้แล้ว ทำการ
build Solution หรือกด F7 เมื่อเขียนโปรแกรมตัวอย่างเสร็จ  หากไม่มีอะไรผิดพลาด ควรจะได้ข้อความ

"========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped =========="

แล้วกด F5 หรือ Start Debugging จากเมนู Debug รูป cat.png ก็จะปรากฏบนหน้าต่าง my cats ของเราครับ

HelloOpenCV

ศึกษาเอกสารเพิ่มเติมจาก http://opencv.org/

ขอบคุณที่มา Jebson’s blog สำหรับการติดตั้งบน VC++ 2010

ขอให้สนุกกับ OpenCV นะครับ

0 ความคิดเห็น:

Post a Comment

 

แจกฟรี พื้นที่ฝากไฟล์ 2 GB

ads

ติดตามข่าวสารผ่าน Twitter

ติดตาม Blog นี้

Blog อื่นๆของฉัน

  • Test AMR Fleet Management program - ระบบบริหารจัดการจราจรและจัดคิวงานของรถ AMR (Autonomous Mobile Robot) ที่พัฒนาโดยบริษัท WP Solution Co., Ltd. จากภาษา C# ทั้งในส่วนของ Backend (Service app...
  • Gearset matching 2021 program - เป็นงานใหญ่ที่เพิ่งจบไป ที่ระยอง ปลวกแดง บริษัทผลิตชิ้นส่วนรถยนต์ คอนเซปต์ คือต้องการเก็บค่าหลังจากการทดสอบชิ้นส่วยรถยนต์ เพื่อเก็บไว้ในฐานข้อมูลให้แผนกถ...
  • RT ToolBox3 Standard version 1.70Y - กำลังศึกษาการใช้งานโปรแกรม RT ToolBox3 ในการเขียนโปรแกรมเพื่อควบคุมแขนกล Robots-MELFA ของค่าย Mitsubishi Facebook link
  • Free Screen Capture โปรแกรมบันทึกหน้าจอ ฟรีๆ - หากเพื่อนๆ จะมองหาโปรแกรม ที่ไว้สำหรับบันทึกหน้าจอคอมพิวเตอร์ ไม่ว่าจะบันทึกในรูปของภาพนีิ่ง (Screen shot) หรือแบบบันทึกเป็นภาพเคลื่อนไหว ( screencas...

จำนวนการเยี่ยมชมบล๊อก