OpenCV เป็นที่รู้จักกันในนามของไลบลารีสารพัดประโยชน์ในด้านการประมวลผลภาพ ไม่ว่าจะเป็นการใส่ฟิลเตอร์เพื่อเพิ่มคุณภาพของภาพ การตรวจจับใบหน้า หรือการตรวจสอบและติดตามวัตถุ ซึ่งถือว่ามีประโยชน์มากในวงการโปรแกรมมิ่ง เพราะสามารถนำมาใช้ประยุกกต์กับสิ่งใกล้ตัวได้อย่างเห็นภาพชัดเจนที่สุด
นอกจากความสามารถอันพูดไม่หมดของ OpenCV แล้ว ทางผู้พัฒนายังทำไลบลารีออกมาให้ใช้กับหลากหลายแพลตฟอร์มทั้ง Windows, OSX, Linux, หรือแม้กระทั้งอุปกรณ์พกพาอย่าง Smart Phone ทั้งหลายที่มีสถาปัตยกรรมของซีพียูแตกต่างกันไป อีกทั้งยังรองรับภาษามากมาย เช่น C, C++, C#, Java, Python อีกด้วย
Objective
เนื่องจาก OpenCV เป็นไลบลารีที่ค่อนข้างซับซ้อนและมีขนาดค่อนข้างใหญ่ ซึ่งเราจำเป็นที่จะต้องลิงค์ระหว่างโปรเจคของเรากับไลบลารีของ OpenCV โดยมีคอนเซปต์ก็คือ ถ้าหากเรามีหลาย ๆ โปรเจคที่ต้องใช้ไลบลารีตัวเดียวกัน แทนที่เราจะก็อปปี้ไลบลารีไปไว้ในทุกโปรเจ็ค ซึ่งตอน OS จะมองเสมือนว่าเป็นไลบลารีคนละตัวกัน ดังนั้นเมื่อระบบปฏิบัติการโหลดไลบราลีเข้าหน่วยความจำก็จะโหลดโดยแยกส่วนกัน ถ้าหากมีสามโปรเจคก็โหลดสามครั้งทำให้เปลืองทรัพยากรโดยใช่เหตุ เราจึงต้องทำการลิงค์ไลบลารีเพื่อให้โปรเจคที่เกี่ยวข้องชี้ไปยังไลบลารีตัวเดียวกัน และเป็นการลดภาระของ OS ที่ไม่ต้องโหลดไลบลารีหลายครั้ง ในกรณีที่รันมากกว่าหนึ่งโปรเจค
Prerequisites
- OpenCV library for Windows
- Any version of Visual Studio (support c++ is needed)
How to ?
Set up Environmental Variable
หลังจากที่โหลดไลบลารีมาแล้วให้แตกไฟล์ไปที่ใดที่หนึ่ง (แนะนำ C:\OpenCV
) ให้เข้าไปที่ Advanced System Setting (กดปุ่ม Windows
+ Pause Break
) คลิกที่ Environment Variables... เลือกปุ่ม New ที่ด้านล่างของหน้าต่าง หลังจากนั้นให้ใส่ค่า OPENCV_DIR
สำหรับช่อง Variable Name และ path ไปยัง OpenCV ที่เราแตกไฟล์ตอนแรกตามด้วยโฟลเดอร์ build ในที่นี้ให้ใส่ C:\OpenCV\build\
เสร็จแล้วให้กด OK และกลับมาที่หน้าต่าง Environment Variables เลือก Variable ที่ชื่อ PATH หรือ Path หลังจากนั้นให้ใส่ %OPENCV_DIR%\x64\vc12\bin
สำหรับ OS 64 บิต หรือ %OPENCV_DIR%\x86\vc12\bin
สำหรับ OS 32 บิต
Linking C++ project to OpenCV
หลังจากที่เราสร้างโปรเจ็ค C++ ขึ้นมาแล้ว (ในที่นี้สร้างแบบ Win32 Console Application) ให้เพื่อน ๆ คลิกขวาที่โปรเจคใน Solution Explorer ด้านขวามือแล้วเลือก Properties หลังจากนั้นให้ไปที่โหนด Configuration Properties (ด้านซ้ายมือ) เลือก C/C++ และเลือก General ในช่อง Additional Include Directories ให้ใส่ $(OPENCV_DIR)\include
เมื่อใส่ค่าใหม่ลงไปแล้ว ให้ไปที่โหนด Linker เลือก General และให้แก้ค่าในช่อง Additional Library Directories เป็น $(OPENCV_DIR)\x64\vc12\lib
เมื่อแก้ไขเรียบร้อยแล้ว ให้ไปที่ Input ภายใต้โหนด Linker เลือก Additional Dependencies คลิกที่ลูกศรขวามือแล้วเลือก Edit หลังจากนั้นให้ใส่ค่าดังต่อไปนี้ลงไปในช่อง textbox บนสุด
Additional Dependencies
opencv_calib3d248d.lib opencv_contrib248d.lib opencv_core248d.lib opencv_features2d248d.lib opencv_flann248d.lib opencv_gpu248d.lib opencv_highgui248d.lib opencv_imgproc248d.lib opencv_legacy248d.lib opencv_ml248d.lib opencv_nonfree248d.lib opencv_objdetect248d.lib opencv_photo248d.lib opencv_stitching248d.lib opencv_superres248d.lib opencv_ts248d.lib opencv_video248d.lib opencv_videostab248d.lib
เมื่อแก้ไขทุกอย่างเสร็จแล้วให้กด OK แล้งลองรันโปรแกรมนี้ดูครับ ถ้าไม่มีปัญหาอะไร โปรแกรมจะโชว์หน้าต่างเว็บแคมออกมา ลื่นไหลไม่มีสะดุด
แสดงความคิดเห็น