OpenCV เป็นไลบรารี่ภาษา C ตัวหนึ่ง ที่ถูกสร้างขึ้นมาเพื่องาน Image Processing โดยที่สามารถทำงานร่วมกับ IDE ทั่วไป และสามารถทำงานได้บนทุกแพลตฟอร์ม ไม่ว่าจะเป็นวินโดว์ ลินุกซ์ หรือ MacOS
สิ่งที่มันทำได้ (โดยคร่าวๆ)
- ทำงาน Image Processing ได้เกือบทุกประเภท ไม่ว่าจะลด noise / edge detection / hough transform / Feature Detection (ถ้าให้อธิบายแบบชาวบ้านก็คือ ทำทุกอย่างที่ Photoshop ทำได้)
- สามารถทำงานได้กับทั้งภาพนิ่ง วีดีโอ (ไฟล์ทุกสกุลที่ codec สามารถอ่านได้) และทำงานกับกล้องแบบ real-time ได้
- ต่อกับกล้อง webcam ได้ง่ายมาก ด้วยฟังก์ชั่นสำเร็จรูป (ขอแค่มีไดรเวอร์กล้อง)
- มี library สำหรับสร้าง GUI มาให้ด้วย ฉะนั้นถ้าใครนึกครึ้มอกครึ้มใจ อยากทำโปรแกรมดูหนังใช้แทน Window media ก็ทำได้
สำหรับในวินโดว์ IDE ที่แนะนำคือ Microsoft Visual C++ โดยมีตัว setup OpenCV เป็นไฟล์ .exe ให้เสร็จเลย รายละเอียดอ่านได้ที่ (http://opencv.willowgarage.com/)
วิธีการลงตัว OpenCVบนลินุกซ์ (มาจาก wiki ของ OpenCV)
ลง library ที่เกี่ยวข้อง
sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev
สร้างโฟลเดอร์ที่ใช้เก็บ OpenCV (ของผมสร้างไว้ใน /home/[ชื่อ user]/OpenCV/ )
เข้าไปในโฟลเดอร์ที่สร้างไว้ แล้วโหลดไฟล์ OpenCV ผ่านคำสั่ง SVN
svn co https://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/trunk
svn co https://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/tags/latest_tested_snapshot
ทำการคอมไพล์โปรแกรม โดยสร้างโฟลเดอร์ชื่อ release ก่อน
mkdir release # create the output directorycd release
จากนั้นก็ใช้คำสั่่ง cmake
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ..
คอมไพล์มันซะ
make
sudo make install
มาถึงจุดนี้ ถ้าไม่มีแจ้ง error อะไรขึ้นมา ก็ไปตั้ง path ได้ (ถ้ามี error อาจเกิดจากขาด library บางตัวไป)
ต่อไปเป็นการตั้ง path โดยสร้างไฟล์ opencv.conf ขึ้นมาผ่านคำสั่ง
sudo nano /etc/ld.so.conf.d/opencv.conf
เพิ่ม /usr/local/lib เข้าไปในไฟล์ จากนั้นก็พิมพ์
sudo ldconfig -v
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
เท่านี้ก็เป็นอันเสร็จสิ้น ส่วนวิธีการเช็คทำได้โดยลอง build ตัวอย่างและเรียกใช้ดู
ตัวอย่าง ไฟล์อยูใน /opencv/samples/c
. build_all.sh #คำสั่ง build
./delaunay # คำสั่งเรียกใช้ฟังก์ชั่น delaunay (อาจจะลอง ./edge ผลลัพธ์ที่ได้ควรจะเป็นหาเส้นขอบของส้ม)
ถ้ายังไม่สามารถ build ไฟล์ตัวอย่าง ได้ ปัญหาอาจจะเกิดจากการลง library ไม่ครบ (essential ไม่ได้มี library ที่ต้องการทั้งหมด บางครั้งอาจจะต้องลงเอง) แต่ถ้า build ได้ แล้วรันไม่ได้ ลอง cmake ใหม่อีกรอบนึงดู
ทางเลือกวิธีลงแบบอื่นมีดังนี้
http://dircweb.king.ac.uk/reason/opencv_cvs.php << มีรายละเอียด package library อื่นๆที่จำเป็น
http://n2.nabble.com/saples-compiling-problems-please-help-td3170157.html <<< error บางอย่างที่พบขณะลง
http://www.comp.leeds.ac.uk/vision/opencv/install-lin.html <<<เป็นทางเลือกที่ไม่ค่อยแนะนำ
ถ้าต้องการใช้ร่วมกับ Eclipse ให้ทำตามเวปนี้ http://www.jestinstoffel.com/?q=node/112
โดยให้เซ็ตไดเร็กโทรี่ของ include file เป็น /usr/local/include/opencv
0 comments:
แสดงความคิดเห็น