استفاده از OpenCV در Qt
OpenCV یا Open Source Computer Vision یکی از معروفترین کتابخانههای پردازش تصویره که برای انواع زبانهای برنامه نویسی، فریمورکها و سیستمعاملهای مختلفی ارائه شده و استفادههای زیادی در زمینه پردازش تصویر داره.
برای استفاده از OpenCV در ویندوز نیاز به انجام مراحل طولانی کامپایل دارید (مگه اینکه بخواید از Visual Studio برای توسعهی کدتون استفاده کنید) اما برای استفاده OpenCV در لینوکس فقط نیاز به نصب اون از طریق مخازنتون دارید. بی دلیل نیست که به لینوکس لقب بهشت برنامه نویسان رو دادن.
نصب
در فدورا:
sudo yum install opencv opencv-devel
در اوبونتو:
در Ubuntu Software Centre به دنبال opencv و نصبش کنید.
در آرچ:
pacman -S opencv opencv-samples base-devel
استفاده
برای استفاده از کتابخانههای OpenCV در Qt باید در برنامه کتابخانههای OpenCV رو include کنید.
#include<opencv2/opencv.hpp>
فراموش نکنید که از فضای نام cv هم استفاده کنید.
using namespace cv;
فایل pro. هم باید تغییر کند.
اول با دستور زیر ببینید از چه کتابخانههایی میتونید استفاده کنید.
pkg-config opencv --libs
این دستور خروجی شبیه به این داره.
[ali@silver]~% pkg-config opencv --libs
-lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videostab
حالا باید ببینید opencv-devel کجا نصب شده و آدرس کتابخانهها رو بدست بیارید. این آدرس معمولاَ برای سیستمهای ۳۲ بیتی در usr/lib/ و برای سیستمهای ۶۴ بیتی در usr/lib64/ قرار داره اما اگه اونجا نبود با دستور زیر پیداش کنید.
[ali@silver]~% find /usr -name libopencv_core.so
/usr/lib64/libopencv_core.so
حالا به محل نصب opencv که معمولاَ توی usr/include/ هست نیاز دارید. اگه اونجا نبود با دستور زیر پیداش کنید.
[ali@silver]~% find /usr -name opencv.hpp
/usr/include/opencv2/opencv.hpp
به فایل pro. خطوط زیر رو اضافه کنید.
INCLUDEPATH += /usr/include/opencv2
LIBS += -L/usr/lib64 \
-lopencv_core \
-lopencv_highgui
در قسمت libs با L- آدرس کتابخانهها و با l- اسم کتابخانههای مورد نیازتون که قبلاَ پیداشون کردید رو اضافه کنید.
همه چیز آمادست و میتونید از OpenCV استفاده کنید.
اطلاعات تکمیلی
اگه نیاز به استفاده از کتابخانههای اضافی داشتید از لیست زیر استفاده کنید.
Install Image I/O libraries
sudo apt-get -y install libjpeg62-dev
sudo apt-get -y install libtiff4-dev libjasper-dev
Install the GTK dev library
sudo apt-get -y install libgtk2.0-dev
Install Video I/O libraries
sudo apt-get -y install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
Optional - install support for Firewire video cameras
sudo apt-get -y install libdc1394-22-dev
Optional - install video streaming libraries
sudo apt-get -y install libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
Optional - install the Python development environment and the Python Numerical library
sudo apt-get -y install python-dev python-numpy
Optional - install the parallel code processing library (the Intel tbb library)
sudo apt-get -y install libtbb-dev
Optional - install the Qt dev library
sudo apt-get -y install libqt4-dev