ครั้งก่อนลงไปแล้วไม่ได้จดวิธีลงไว้ ลงอีกครั้งเลยขอจดไว้ก่อน เผื่อคราวหน้า
ลงอุบุนตุใหม่จะได้ไม่มานั่งงมอีก
อ้างอิงการลง openCV บน Ubuntu 9.04 จาก
http://webeng.cs.ait.ac.th/cvwiki/opencv:tutorial:install:ubuntu
(Thanks อ.แมท(Dr.Matthew@AIT)for very useful installation guide)
ซึ่งมีขั้นตอนดังนี้
1. ใช้ synaptic ติดตั้ง libgstreamer0.10-dev และ libdc1394-13-dev
2. ดาวน์โหลด opencv 1.1.0 ได้จาก openCV wiki
3. แตกไฟล์ opencv-1.1pre1.tar.gz โดยใช้คำสั่ง tar -xvfz opencv-1.1pre1.tar.gz
4. ในไดเรกทอรี่ของ opencv-1.1.0 พิมพ์คำสั่ง(ให้เหมือนอันนี้เลยนะ เครื่องหมาย=พิมพ์ให้ติดprefix)
./configure --prefix=${HOME}/opencv --without-xine --without-quicktime --with-gstreamer --with-1394libs --with-v4l
5. ในไดเรกทอรี่ของ opencv-1.1.0 พิมพ์คำสั่ง
make
6. เมื่อ make เสร็จ ก็พิมพ์
make install
เพื่อติดตั้ง opencv ได้เลยโดย opencv จะไปติดตั้งอยู่ที่ /home/jednipat/opencv ตามไดเรคทอรี่ที่ระบุไว้ตอนรัน ./configure
7. พิมพ์
export LD_LIBRARY_PATH=/home/jednipat/opencv/lib
เมื่อ make install เสร็จ ก็ลองมารัน example ที่ opnecv ให้มาโดยคอมไพล์ดังนี้
g++ -o outputname yourfilename.c -I /home/jednipat/opencv/include/opencv/ -lhighgui -L /home/jednipat/opencv/lib/
กรณีของผมคอมไพล์ผ่านแต่พอรันแล้ว เจอ error ดังนี้ (เนื่องจากผมลืมทำข้อ 7)
error while loading shared libraries: libhighgui.so.2: cannot open
shared object file: No such file or directory
เลยค้นวิธีแก้ได้มาจากบล็อกของ dsin (พี่พง) สาเหตุเป็นเพราะว่ายังไม่ได้ export LD_LIBRARY_PATH ซึ่งก็ทำได้ดังนี้
export LD_LIBRARY_PATH=/home/jednipat/opencv/lib
ที่นี้คิดว่าน่าจะรันได้ตามปกติ ลองคอมไพล์และรัน example ดูอีกที คอมไพล์ผ่าน
แต่พอรันปุ๊ป เจอกับ
OpenCV ERROR: Unspecified error (The function is not implemented.
Rebuild the library with Windows, GTK+ 2.x or Carbon support)
in function cvNamedWindow, window.cpp(71)
Terminating the application...
Segmentation fault
อ๊ากก... ค้นไปค้นมาอีกก็ได้คำแนะนำจากเว็บนี้ < - - คลิก คอมเมนต์สุดท้ายบอกไว้ว่าสาเหตุมาจากตอนรัน ./configure และ make ไม่มี gtk+ lib dev ไม่มีเขาแนะนำให้ remove openCV ออกก่อน แล้วไปลง libgtk2.0-dev (เข้า synaptic package management แล้ว search คำว่า libgtk2.0-dev ละก็ mark for installation - > apply )
เมื่อลง libgtk2.0-dev เสร็จให้ uninstall openCV ก่อนโดยพิมพ์ make uninstall
ในไดเรคทอรี่ opencv-1.1.0 จากนั้นเพื่อความชัวร์ควรจะ restart เครื่องก่อน
(ผมไม่รีสตาร์ทเครื่อง make ใหม่ก็เจอปัญหาเดิม เลยลอง รีสตาร์ทเครื่อง แล้วทำใหม่)
แล้วทำการ ./configure , make , make install อีกที
1> ./configure blablabla..
2> make
3> make install
4> export LD_LIBRARY_PATH=/home/jednipat/opencv/lib
จากนั้นไปยัง directory /home/jednipat/opencv-1.1.0/samples/c
แล้วลองคอมไพล์ไฟล์ใด ๆ ผมเลือกไฟล์ตัวอย่างการใช้งาน SURF descriptor
ชื่อไฟล์ว่า find_obj.cpp คอมไพล์ด้วยคำสั่งดังนี้
g++ find_obj.cpp -o test -I /home/jednipat/opencv/include/opencv/ -lhighgui
-L /home/jednipat/opencv/lib/
จากนั้นรัน ./test เพื่อดูผลลัพธ์ของโปรแกรม
เย้... สำเร็จ..
ไม่มีความคิดเห็น:
แสดงความคิดเห็น