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 😉
Ho notato che con ffmpeg 0.9.0.1 o 2 totem si blocca sui wmv e rmvb
ergo son tornato allo 0.8.7
io ho una mia versione compilata di ffmpeg, quindi non saprei se ho anche
io questo problema, poi non ho nemmeno un file wmv per provare.
Invece , prova a giocare con opencv, è veramente valido…prova
~/OpenCV-2.3.1/bin/grabcut ~/OpenCV-2.3.1/samples/cpp/lena.jpg
metti nel quadrato la donna e poi marca alcune zone con il rosso ed il blu,
comandi che trovi nella console, e poi premi n.
oppure
~/OpenCV-2.3.1/bin/calibration_artificial
😉
comunque la versione 2.3.1 c’è nei repo di sid:
mc@debian64:~$ apt-cache policy libopencv-core*
libopencv-core-dev:
Installato: 2.3.1-1
Candidato: 2.3.1-1
Tabella versione:
*** 2.3.1-1 0
990 https://ftp.debian.org/debian/ sid/main amd64 Packages
100 /var/lib/dpkg/status
libopencv-core2.3:
Installato: 2.3.1-1
Candidato: 2.3.1-1
Tabella versione:
*** 2.3.1-1 0
990 https://ftp.debian.org/debian/ sid/main amd64 Packages
100 /var/lib/dpkg/status
avevo installato quello dei repo, ma avevo avuto problemi
con ffmpeg….quindi ho optato per la compilazione.