Showing posts with label EmguCV. Show all posts
Showing posts with label EmguCV. Show all posts

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