OpenCV è una libreria orientata alla computer vision.Originariamente è stata sviluppata da Intel, mentre attualmente è sotto licenza open source BSD. Mi sto interessando da poco ad OpenCV, partendo dall'integrazione con FFmpeg, e quindi poter provare i filtri erode,dilate e smooth., anche se ho notato che il meglio lo fa da solo. Per farla breve ho deciso d'installare OpenCV su Debian Sid, per poi ricompilare FFmpeg con l'opzione –enable=libopencv.
# apt-get install libavformat-dev libgtk2.0-dev pkg-config cmake libswscale-dev bzip2
$ tar -xvf OpenCV-2.3.1a.tar.bz2
$ cd OpenCV-2.3.1
$ cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=OFF -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON .
alla fine del cmake se tutto è andato bene si avrà qualcosa del genere:
— GUI:
— GTK+ 2.x: YES
— GThread: YES
—
— Media I/O:
— ZLib: YES
— JPEG: TRUE
— PNG: TRUE
— TIFF: TRUE
— JPEG 2000: TRUE
— OpenEXR: YES
— OpenNI: NO
— OpenNI PrimeSensor Modules: NO
— XIMEA: NO
—
— Video I/O:
— DC1394 1.x: NO
— DC1394 2.x: YES
— FFMPEG: YES
— codec: YES
— format: YES
— util: YES
— swscale: YES
— gentoo-style: YES
— GStreamer: NO
— UniCap: NO
— PvAPI: NO
— V4L/V4L2: FALSE/FALSE
— Xine: NO
—
— Other third-party libraries:
— Use IPP: NO
— Use TBB: NO
— Use ThreadingFramework: NO
— Use Cuda: NO
— Use Eigen: NO
—
— Interfaces:
— Python: YES
— Python interpreter: /usr/bin/python2.7 -B (ver 2.7)
— Python numpy: YES
— Java: NO
—
— Documentation:
— Sphinx: NO
— PdfLaTeX compiler: /usr/bin/pdflatex
— Build Documentation: NO
—
— Tests and samples:
— Tests: YES
— Examples: YES
—
— Install path: /usr/local
—
— cvconfig.h is in: /home/edmond/OpenCV-2.3.1
dove si noterà la voce FFmpeg=YES …..continuando :
$ make
$ sudo make install
Configurare OpenCV:
$ sudo nano /etc/ld.so.conf.d/opencv.conf
ed incollare questo:
/usr/local/lib
poi:
$ sudo ldconfig
$ sudo gedit /etc/bash.bashrc
ed incollare alla fine questo:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
ancora:
$ cd ~/OpenCV-2.3.1/samples/c
$ chmod +x build_all.sh
$ ./build_all.sh
adesso siamo pronti a ricompilare FFmpeg con l'aggiunta dell'opzione –enable=libopencv, ed usarlo con questa sintassi:
$ ffmpeg -i input.avi -vf ocv="dilate=5×5+2×2/cross:2" output.avi
per il filtro erode, vale quanto sopra.
$ ffmpeg -i input.avi -vf "ocv=smooth=blur_no_scale" -output.avi
smooth accetta "blur", "blur_no_scale", "median", "gaussian", "bilateral", di default è "gaussian"
Questo è tutto per quanto riguarda OpenCV con FFmpeg.
enjoy 😉