Creating an OpenCV application with Eclipse on Windows

เนื่องจากว่าผมใช้ระบบ Windows เป็นหลัก แต่งานวิจัยผมพัฒนาบน Ubuntu ซึ่งยังยอมรับว่าไม่สามารถใช้ Ubuntu เพียวๆ ได้ เป็นเหตุทำให้งานวิจัยค่อนข้างล่าช้าไปพอสมควร ผมจึงคิดว่าจะมาเขียนโปรแกรมบน Windows แทน และวันนี้ได้ลองผิดลองถูกที่จะใช้ OpenCV กับ Eclipse อยู่นานมาก ขอจดขั้นตอนเก็บไว้หน่อยละกัน

โปรแกรมที่จำเป็นต้องติดตั้ง

  1. MinGW: เป็นชุดคำสั่งรวมพวกไลบรารี่ของภาษา Programming ซึ่งในที่นี้โปรแกรมที่จะติดตั้งก็คือ C/C++ compiler
  2. Eclipse CDT: ดั้งเดิมเป็น IDE สำหรับภาษา Java แต่ตัวนี้ได้ติดตั้งโปรแกรมเสริมให้รองรับการพัฒนาภาษา C/C++
  3. OpenCV for Windows: และแน่นอนที่ขาดไม่ได้ นั่นก็คือ OpenCV ซึ่งเป็นชุดคำสั่งรวมพวกไลบรารี่ของการพัฒนาโปรแกรมทาง Computer Vision หรือ Image Processing

พอติดตั้งครบทั้ง 3 โปรแกรม ขั้นตอนต่อไปสำหรับการเริ่มต้นสร้างโปรแกรมขึ้นมา 1 โปรแกรมมีดังต่อไปนี้

    1. เปิด Eclipse ขึ้นมา
    2. สร้างโปรเจคขึ้นมา โดยไปที่แทบ File > New > C++ Project
    3. จากขั้นตอนที่ 2 เราจะได้ดังรูปข้างล่างนี้
      opencv-with-eclipse-win-01
      ตรงส่วน Toolchains นั้นให้เราเลือก MinGW GCC
    4. เมื่อเราสร้าง Project เสร็จแล้ว ให้ไปที่แทบ Project > Properties แล้วไปที่ C/C++ Build > Settings จะได้ดังรูปข้างล่างนี้
      opencv-with-eclipse-win-02
    5. แล้วให้ตั้งค่า Directories ของ GCC C++ Compiler ดังรูปข้างล่างนี้
      opencv-with-eclipse-win-03
    6. พอเสร็จแล้วให้ไปตั้งค่า Libraries ของ MinGW C++ Linker ดังรูปข้างล่างนี้
      opencv-with-eclipse-win-04
    7. ขั้นตอนสุดท้ายที่เราจะเป็นต้องทำก็คือไปเพิ่ม OpenCV ใน Path Environment ของ Windows ดังรูปข้างล่างนี้
      opencv-with-eclipse-win-05
    8. หลังจากนั้นให้ restart โปรแกรม Eclipse ก็เป็นอันเสร็จสิ้น

ส่วนโค้ดข้างล่างนี้เอาไว้สำหรับทดสอบครับ (อย่าลืม include ไฟล์ cv.h, cvaux.h, cxcore.h, และ highgui.h ไปด้วย)

int main( void ) {
  IplImage *img = cvLoadImage( ..image file.. );
  if( !img ) {
    printf( "Could not load image file\n" );
    exit( 0 );
  }
 
  // create a window
  cvNamedWindow( "mainWin", CV_WINDOW_AUTOSIZE );
  cvMoveWindow( "mainWin", 100, 100 );
 
  // show the image
  cvShowImage( "mainWin", img );
 
  // wait for a key
  cvWaitKey( 0 );
 
  // release the image
  cvReleaseImage( &img );
 
  return 0;
}

Author: zkan

Soon to be a newbie data scientist. I ♥ machine learning, computer vision, robotics, image processing, data visualization, and data analytics.

6 thoughts on “Creating an OpenCV application with Eclipse on Windows”

  1. ผมก็เคยลงนะพี่กานต์

    แป่ว ขอโทษครับ ผมไม่รู้ว่าพี่จะลง openCV บน windows

  2. พอดีเครื่อง PC ที่ตั้งข้างๆ มันพังบ่อยอะ เปิดไม่ติดอยู่ตอนนี้ ก็เลยว่าจะมาลองบน Windows สักหน่อย แหะๆ

  3. ทำไมผม include cvaux.h ไม่ได้อ่ะครับ
    พอ include มามันฟ้อง error เลยอ่ะ

  4. @pythonar we can do the same steps for OpenCV 2.0 as well

    @banollom ขึ้น error ว่าอะไรหรอครับ?

Leave a Reply

Your email address will not be published. Required fields are marked *