Showing posts with label Visual Studio. Show all posts
Showing posts with label Visual Studio. Show all posts

Monday, December 6, 2010

mini guide how to install OpenCV 2.2 for Visual Studio 2010

mini guide how to install OpenCV 2.10 for Visual Studio 2008

เห็นตัวอย่างนี้คุ้นๆ ก็ไม่ต้องแปลกใจเพราะว่าแก้มาจากบทความ คราวที่แล้ว mini guide how to install OpenCV 2.10 for Visual Studio 2008

- หาที่ download ก่อน http://sourceforge.net/projects/opencvlibrary/files/

- โหลด OpenCV-2.2.0-win32-vs2010.exe มาใช้ได้เลย เพราะว่าคอมไพล์เป้นไลบรารี มาให้เรียบร้อยแล้วมีข้อจำกัดนิดนึงที่ว่าถ้าใช้ สำหรับคนที่ต้องการคอมไพล์เองก็โหลดอีกตัวมาใช้ แล้ว ใช้ CMAKE สร้าง

- เปิดโปรเจกต์ C ธรรมดาขึ้นมาแล้วเซตค่า include path กับ library ก็จบ
 include path ใส่ที่นี่
  เลือก Project property
    Configuration properties
     C/C++
      General
       Additional Include Directories ใส่ C:\OpenCV2.2\include
 library ใส่ที่นี่
  เลือก Project property
    Configuration properties
     Linker
      Additional Dependencies

 ใส่ค่าประมาณนี้เข้าไปสำหรับ Debug configuration
  C:\OpenCV2.2\lib\opencv_core220d.lib
  C:\OpenCV2.2\lib\opencv_highgui220d.lib

 ในส่วน release ใส่อันนี้แทน
  C:\OpenCV2.2\lib\opencv_core220.lib
  C:\OpenCV2.2\lib\opencv_highgui220.lib

ส่วนสำคัญสำหรับคนที่อัพมาจาก 2.1 จะเห็นว่า library เปลี่ยนชื่อไป และมีการจัดกลุ่ม header file ใหม่ ดังนั้นเวลาเขียนโปรแกรมแบบใหม่ header file จะเป็นแยกตามการจัดกลุ่มใหม่ เช่น
#include "opencv2\core\core_c.h"
#include "opencv2\imgproc\imgproc_c.h"

หรือจะ include ไฟล์เดียวคือ
#include "opencv2\opencv.hpp"

ก็อยู่

สำหรับคนที่ต้องการจะใช้ code เก่า โดยไม่ต้องการแก้ เช่น
#include <cv.h>

ให้เติม
Additional Include Directories ใส่ C:\OpenCV2.1\include\opencv เพิ่มด้วย
ไม่อย่างนั้นต้องแก้ของเก่าทั้งหมดให้อยู่ในรูปแบบ
#include "opencv\cv.h"

Wednesday, April 14, 2010

Using OpenCV in Visual Studio 2008 with EmguCV

เมื่อวานนั่งลองเขียนโปรแกรม OpenCV บน VS 2008 ดู ให้อารมณ์เหมือนเขียนโปรแกรมบนดอสสมัยก่อนเลย ปุ่มไม่มีคอนโทรลไม่มีให้.. เลยตัดสินใจว่าจะเขียนเป็น windows app เสียหน่อย  ตอนแรกตั้งใจจะเขียนเป็น Visual C++/CLI (C++ version ของ Microsoft ที่ support .NET และ native app) แต่ตัดสินใจหา Google ก่อนปรากฏว่าเจอโปรเจกต์ emguCV ที่เป็น wrapper สามารถเรียกใช้ OpenCV library โดยใช้ C# ได้เลย เลยรอดตัวไม่ต้องใช้ C++/CLI

สรุปวิธีการติดตั้งนะครับ

  1. เนื่องจากโปรแกรมนี้ใช้ WCF (Windows Communication Foundation) ต้องลง .NET 3.0 ก่อน
  2. โหลดตัว install ที่นี่ได้เลย http://sourceforge.net/project/showfiles.php?group_id=216500
  3. install ไปตามขั้นตอนปกติ อาจจะให้อัพเกรดอะไรนิดหน่อย.
  4. เปิด VS 2008 แล้วเปิดโซลูชัน Emgu.CV.Example.sln แล้วลองรันดู ตามขั้นตอนปกติควรจะรันโปรแกรมทดสอบผ่าน
โปรแกรมตัวอย่างที่ให้มาก็มี application เยอะอยู่ พอจะนำไปประยุกต์ใช้ได้หลายงานเลย หลังจากนั้นลองมาสร้าง project ใหม่ดู

  1. สร้าง project หรือ solution ใหม่
  2. add zlib.net.dll, Emgu.Utils.dll, Emgu.CV.dll ใน reference ของ project
  3. copy dll ของ OpenCV(cvXXX.dll, cvauxXXX.dll, cxcoreXXX.dll, highguiXXX.dll, opencv_ffmpegXXX.dll, mlXXX.dll and cvextern.dll) ไปไว้ใน execute directory (ขั้นตอนนี้ส่วนตัวไม่ได้ทำ รันผ่านด้วย)
  4. เขียนโปรแกรมตามปกติโดยใส่ namespace เหล่านี้ไปด้วย
          using Emgu.CV;
          using Emgu.CV.Structure;


เท่านี้ก็น่าจะเริ่มเขียน OpenCV ด้วย C# บน VS2008 ได้แล้ว

ลองดู tutorial เพิ่มเติมได้ที่
http://www.emgu.com/wiki/index.php/Tutorial

Tuesday, April 13, 2010

mini guide how to install OpenCV 2.10 for Visual Studio 2008

ก่อนจะใช้งาน OpenCV ก็ต้องติดตั้งกันก่อน

- หาที่ download ก่อน http://sourceforge.net/projects/opencvlibrary/files/

- โหลด OpenCV-2.1.0-win32-vs2008.exe มาใช้ได้เลย เพราะว่าคอมไพล์เป้นไลบรารี มาให้เรียบร้อยแล้วมีข้อจำกัดนิดนึงที่ว่าถ้าใช้ Microsoft Visual C++ 2008 SP1 Redistributable Package (x86) จะไช้ได้แต่ไลบรารีที่เป็น release ถ้าใช้ visual studio 2008 ก็ไม่มีปัญหา สำหรับคนที่ต้องการคอมไพล์เองก็โหลดอีกตัวมาใช้ แล้ว ใช้ CMAKE สร้าง (ขอบายถ้ามีชอยส์อื่น 555)

- เปิดโปรเจกต์ C ธรรมดาขึ้นมาแล้วเซตค่า include path กับ library ก็จบ
include path ใส่ที่นี่
เลือก Project property
Configuration properties
C/C++
General
Additional Include Directories ใส่ C:\OpenCV2.1\include\opencv
library ใส่ที่นี่
ลือก Project property
Configuration properties
Linker
Additional Dependencies

ใส่ค่าประมาณนี้เข้าไปสำหรับ Debug configuration
C:\OpenCV2.1\lib\cv210d.lib
C:\OpenCV2.1\lib\cvaux210d.lib
C:\OpenCV2.1\lib\cxcore210d.lib
C:\OpenCV2.1\lib\highgui210d.lib
C:\OpenCV2.1\lib\ml210d.lib
C:\OpenCV2.1\lib\opencv_ffmpeg210d.lib
ในส่วน release ใส่อันนี้แทน
C:\OpenCV2.1\lib\cv210.lib
C:\OpenCV2.1\lib\cvaux210.lib
C:\OpenCV2.1\lib\cxcore210.lib
C:\OpenCV2.1\lib\highgui210.lib
C:\OpenCV2.1\lib\ml210.lib
C:\OpenCV2.1\lib\opencv_ffmpeg210.lib

สำหรับคนที่ไม่อยากจะตั้งค่า OpenCV ทุกๆ project ก็สามารถตั้งค่าใน Visual Studio ให้เป็น default ได้เลย
เลือกที่ Tool
Options
Projects and Solutions
VC++ Directories
ที่ Library files ใส่ C:\OpenCV2.1\lib
ที่ Include files C:\OpenCV2.1\include\opencv
      ที่ Source files ใส่
                C:\OpenCV2.1\src\cv
                C:\OpenCV2.1\src\cvaux
                C:\OpenCV2.1\src\cxcore
                C:\OpenCV2.1\src\highgui
แล้วในโปรเจกต์ในส่วนของ library ก็ใส่คล้ายเดิมเพียงแต่ไม่ต้องใส่ path ให้กับ Additional Dependencies ของ debug ใส่
cv210d.lib
cvaux210d.lib
cxcore210d.lib
highgui210d.lib
ml210d.lib
opencv_ffmpeg210d.lib
ของ release ใส่


cv210.lib
cvaux210.lib
cxcore210.lib
highgui210.lib
ml210.lib
opencv_ffmpeg210.lib

ลองคอมไพล์ดู เท่านี้ก็เรียบร้อย ไม่ต้อง MAKE เองชีวิตง่ายขึ้นเยอะเลย

ขั้นต่อไปว่าจะอ่านตามหนังสือ Learning OpenCV ของ O'Reilly ลองดูหรือโหลดตัวอย่างโคดได้ที่
ส่วนหน้าตาหนังสือเป็นแบบนี้
http://www.oreilly.com/catalog/9780596516130