เกิดอาการเบื่อการ QSO เลย ลองมาศึกษา วิธีใช้งาน openCv ผู้เขียนใช้ OS Linux ในที่นี้จะทำการการตั้งค่าเพื่อเริ่มเขียนโปรแกรม ด้วย eclipse (การติดตั้ง eclipse และ OpenCv ในระบบ Windows, Mac, Linux จะแตกต่างกัน ให้ดูรายละเอียดการติดตั้ง ในเวปไซด์ ของ eclipse ที่ https://eclipse.org/downloads/ และ OpenCv ที่http://docs.opencv.org/3.1.0/df/d65/tutorial_table_of_content_introduction.html )
วิธี
config Opencv สำหรับ
eclipse
บทความจากเวป ไซด์ http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_eclipse/linux_eclipse.html
1 เปิด
โปรเจคใหม่ เลือก File -->
New --> C/C++ Project
2 ตั้งค่าชื่อโปรเจค
ในช่อง Project name: ในตัวอย่าง
คือ DisplayImage
3 ช่อง
Project Type เลือก
Empty Project
Toolchains เลือก
Linux GCC
4แล้วค่าที่เหลือ
ให้ปล่อยเป็น ดีฟอลไว้
จากนั้นกด Finish
5 ในช่อง
Project Explorer เลือก
ชื่อโปรเจคในตัวอย่างคือ
DisplayImage คลิกขวา
6 สร้างโฟลเดอร์ใหม่
เลือก Folder ใส่ชื่อ
src กด
Finish
คลิกขวาที่
โฟลเดอร์ src กดเลือก
New source file
ใส่ชื่อไฟล์
DisplayImage.cpp กด
Finish
7 พิมพ์
โค้ดตามตัวอย่าง มีข้อสังเกตุ ที่ คำสัง
#include <highgui.h> เครื่องหมาย < และ > เป็นการระบบุตำแหน่งของ ไฟล์
highgui.h อยู่ที่ตำแหน่ง library ของระบบ OS แต่ถ้าใช้คำสั่ง
#include "highgui.h" เครื่องหมาย " และ " เป็นการระบบุตำแหน่งของ ไฟล์
highgui.h อยู่ที่ โฟลเดอร์ เดียวกันกับ โปรแกรม
#include <cv.h>
#include <highgui.h>
using namespace cv;
int main( int argc, char** argv )
{
Mat image;
image = imread( argv[1], 1 );
if( argc != 2 || !image.data )
{
printf( "No image data \n" );
return -1;
}
namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
imshow( "Display Image", image );
waitKey(0);
return 0;
}
8 เตรียมการเพือ
กำหนด คอมพายเลอร์ และ ลิงค์
ตั้งค่า
คอมพายเลอร์ Compiler
ในเทอร์มินอล
ตรวจหาว่า ไฟล์ Include
อยู่ที่ไหนโดยพิมพ์
$ pkg-config - - cflags opencv
สังเกตุ หน้า cflags มีเครื่องหมาย - จำนวน 2 อัน
จากในภาพพบว่าอยู่ที่
usr/include/opencv เมื่อได้ค่าเรียบร้อยแล้ว
ให้ทำการกำหนดค่า ไปที่
Project → Properties
ช่องด้านซ้าย
เลือก c/c++ Build เลือก
Setting ทางด้านขวาจะมีแทปให้เลือกหลายอัน
เลือก Tool Setting
เลือกGCC
C++ Compiler คลิก
Include
จากนั้นในช่องซ้ายสุด
Include paths(-l) ใส่ค่าตำแหน่งของ
include ที่ได้
ในที่นี้คือ /usr/include/opencv
ตั้งค่า
ลิงค Linker
ทำการหา
library
path ในเทอร์มินอลพิมพ์
คำสั่ง
$
pkg-config - - libs opencv
จากในดัวอย่างพบว่าอยู่ที่
/usr/lib
และมี
libraries
อยู่หลายตัว
โดยมากจะใช้ libraries 3ตัวนี้
opencv_core
opencv_imgproc
opencv_highgui
ทั้งนี้ต้องดูด้วยว่า ใน โปรแกรมที่เขียนเรียกใช้ libraries ใด ก็ให้เพิ่มเข้าไป เช่น ถ้าใช้เกียวกับ การรับภาพ วีดีโอ จาก กล้อง ก็ต้องใช้ opencv_videoio เป็นต้น
การตั้งค่าลิงค์เกอร์
ทำสองตำแหน่ง คือ
ลำดับที่หนี่ง
libraries
อยู่ที่ไหน
ตั้งค้าที่ Library
search Path(-L)
ลำดับที่สอง
libraries
มีชือว่าอะไรที่ต้องการใช้บ้าง
ตั้งค้าที่ libraries
ทำดังนี้
Project →
Properties
ช่องด้านซ้าย
เลือก c/c++ Build เลือก
Setting ทางด้านขวาจะมีแทปให้เลือกหลายอัน
เลือก Tool Setting
เลือก
GCC C++
Linker เลือก
Libraries
ด้านซ้ายมือ
Library
search Path(-L) ใส่ค่า
/usr/lib
ช่อง
Libraries(-l)
ให้ใส่ชือ
libraries
ที่ต้องการใช้งาน
ในตัวอย่างใส่ทั้งหมดเลย
แล้วกด OK
ทำการคอมพาย์
กด Project
-->Build all
จะได้
ไฟล์ ที่พร้อมทำงาน อยู่ในโฟลเดอร์
workspace
ให้ดูค่า
เพอร์มิชชั่น สั่งงาน
ด้วยเทอร์มินอล