Table des matières

OpenCV 3.x

Pour les versions suivantes, on retrouve :

Les versions de OpenCV et de OpenCV Contrib doivent coïncider.

Une aide détaillée pour l'installation : http://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html

OpenCV 3.1

De nouveaux modules sont disponibles sur opencv_contrib. Ces modules sont cités sur lien suivant : http://code.opencv.org/projects/opencv/wiki/ChangeLog#31

L'installation se fait comme précédemment. On ne doit pas oublier de télécharger ou cloner opencv_contrib qui n'est pas inclus dans le dossier OpenCV. Lien pour opencv_contrib : https://github.com/opencv/opencv_contrib

Comme indiqué sur le lien, il faut ajouter à la commande cmake :

cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules <opencv_source_directory>

Une commande cmake exemple est visible plus bas dans le paragraphe opencv 3.0.

OpenCV et ROS

Pour utiliser des images ros avec OpenCV, il faut inclure le package cv_bridge de ros.

 http://wiki.ros.org/vision_opencv
 

cv_bridge fonctionne avec opencv2 mais ne semble pas fonctionner avec opencv3. Malgré les indications données sur internet. Je ne parviens pas à faire tourner un noeud avec le package cv_bridge qui utilise OpenCV3. Dés que je manipule une matrice cv::Mat, le programme plante avec “Erreur de segmentation (core dumped)”.

La solution qui dit de désinstaller toutes versions de OpenCV et ROS puis de réinstaller OpenCV3 suivi de ROS, ne fonctionne pas http://stackoverflow.com/questions/33971444/segmentation-fault-core-dumped-when-using-cv-bridgeros-indigo-and-opencv-3 . La version de cv_bridge disponible sur le dépôt est sans doute trop ancienne.

En revanche, il existe une version plus récente de cv_bridge sur https://github.com/ros-perception/vision_opencv.git . Ne sachant pas comment installer ros avec un version plus récentes des packages, j'ai compilé le package cv_bridge dans un workspace. Puis dans mon CMakeLists.txt, j'inclus la librairie cv_bridge générée comme une librairie externe. Cette dernière mesure n'est sans doute pas nécessaire si tout se fait dans un même workspace (ie. il contiendrait le noeud utilisant cv_bridge et opencv3 et cv_bridge recompilé).

Voici la démarche que j'ai suivi : Création d'un workspace test (ce n'était qu'un test au départ)

mkdir -p ~/test_ws/src
cd ~/test_ws/src
catkin_init_workspace
cd ~/catkin_ws/
catkin_make
source devel/setup.bash

clone le dépôt git

cd src/
git clone https://github.com/ros-perception/vision_opencv.git
cd ..
catkin_make

Dans le CMakelists.txt de ton noeud utilisant cv_bridge et OpenCV3 :

Retirer toutes traces du package cv_bridge de ros dans CMakeLists.txt et dans package.xml.
Ajouter les lignes suivantes :
include_directories( /home/[user]/test_ws/src/vision_opencv/cv_bridge/include )
link_directories( /home/[user]/test_ws/devel/lib/ )

target_link_libraries(depthmap cv_bridge)

OpenCV 3.0

(même procédure que pour OpenCV 2.4.11)

wget https://github.com/Itseez/opencv/archive/3.0.0-rc1.zip
unzip 3.0.0-rc1.zip
cd opencv-3.0.0-rc1/
mkdir release
cd release
cmake -D BUILD_DOCS=YES -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make

Puis si on souhaite l'installer (risque de conflit avec des versions d'opencv précédentes)

sudo make install

Autre exemple de configuration de cmake avec CUDA :

cmake -D BUILD_DOCS=YES -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/home/jcombier/DiversTools/OpenCV/opencv-3.0.0/installation -D OPENCV_EXTRA_MODULES_PATH=/home/jcombier/DiversTools/OpenCV/opencv_contrib-3.0.0/modules -D BUILD_EXAMPLES=YES -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D CUDA_GENERATION=Auto ..

Pour la transition 2.4 → 3.0

 http://docs.opencv.org/master/db/dfa/tutorial_transition_guide.html#gsc.tab=0

OpenCV 2.4.11

doc d'installation: http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html#linux-installation

http://opencv.org/downloads.html

wget https://github.com/Itseez/opencv/archive/2.4.11.zip
unzip 2.4.11.zip 
cd opencv-2.4.11
sudo apt-get install python-sphinx sphinx-common
mkdir release
cd release
cmake -D BUILD_DOCS=YES -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install

Pour compiler plus vite, utilisez le multithread :

make -j8

Pour 8 threads. Si l'on souhaite configurer CMAKE avant la commande cmake :

ccmake ..

en cas de problème lors de la compilation java (lorsque plusieurs version de java sont présentes sur la machine), regarder quelle version de java et utilisée dans CMakeCache.txt

export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
make

Obsolète Doc OpenCV

Version 2.1

Dans cette version, les images sont des matrices, il n'y a plus besoin d'utiliser les IplImage

http://homepages.laas.fr/~croussil/doc/opencv21.pdf

version c

http://opencv.willowgarage.com/documentation/c/

http://opencv.willowgarage.com/documentation/c/reading_and_writing_images_and_video.html?highlight=writeframe#cvWriteFrame

version c++

http://opencv.willowgarage.com/documentation/cpp/

http://opencv.willowgarage.com/documentation/cpp/reading_and_writing_images_and_video.html?highlight=writeframe#cvWriteFrame

vrac

vielle doc pas à jour (2006) http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/opencv-intro.html#SECTION00073000000000000000

liste de codecs

http://www.fourcc.org/

installation sur mac

http://guide.macports.org/

http://opencv.willowgarage.com/wiki/Welcome

http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port

sudo port selfupdate
sudo port install opencv
sudo port upgrade opencv
ls -la /opt/local/lib/  | grep cv
  -rwxr-xr-x    2 root  admin   2622620  6 jul 15:17 libcv.4.dylib
  lrwxr-xr-x    1 root  admin        13  6 jul 15:17 libcv.dylib -> libcv.4.dylib
  -rwxr-xr-x    2 root  admin       970  6 jul 15:17 libcv.la
  -rwxr-xr-x    2 root  admin   1266416  6 jul 15:17 libcvaux.4.dylib
  lrwxr-xr-x    1 root  admin        16  6 jul 15:17 libcvaux.dylib -> libcvaux.4.dylib
  -rwxr-xr-x    2 root  admin      1009  6 jul 15:17 libcvaux.la

OpenCV dans un projet Qtcreator sur mac

Dans le fichier .pro avec Qtcreator

INCLUDEPATH += /opt/local/include/opencv/
LIBS += -L/opt/local/lib/ -lcxcore -lcv -lcvaux -lhighgui

Dans les options de projet, regler

DYLD_LIBRARY_PATH à /opt/local/lib et LD_LIBRARY_PATH à /opt/local/lib

OpenCV enregistrement images et video

Version C++

#include <cv.h>
#include <highgui.h>
int width=600;
int height=600;
cv::VideoWriter *Video;
Video=new cv::VideoWriter("./out.avi",CV_FOURCC('D','I','V','X') ,15,cv::Size(width,height),true); 
cv::Mat *Img;
Img=new cv::Mat(height,width,CV_8UC3,( char *)HokuyoProcess->im_ray->data);
Video->operator <<(*Img);
delete Video;
//pour generer une image aleatoire
randu(*Img, cv::Scalar(0), cv::Scalar(256));
//pour sauver en jpg
cv::imwrite("./out.jpg",*Img);

http://aspratyush.wordpress.com/2010/04/22/install-opencv-in-linux-with-video-ffmpeg-support/

http://stackoverflow.com/questions/903753/opencv-cvcreatevideowriter-always-returns-null

OpenCV sous Windows

avec Visual C++ express 2008

  1. dans le dossier C:\Program Files\OpenCV\otherlibs\highgui
  2. ouvrir highgui.vs2005.vcproj et le convertir; F7 pour compiler la lib
  3. le sous projet highgui de la solution opencv qui contient les 14 projets ne marche pas!!!

C:\Program Files\OpenCV\samples\c

exemple acquisition images: http://gb01.blogspot.com/2008/01/get-images-from-camera-using-opencv.html

http://www710.univ-lyon1.fr/~eguillou/doku.php?id=m2pro:image:opencv-camera

installation driver webcam mac sous windows:

autodetection

http://www.touslesdrivers.com/index.php?v_page=29

http://www.cnetfrance.fr/telecharger/en/apple-built-in-isight-39437486s.htm

faire toutes les actions de : http://forum.parallels.com/showthread.php?p=57896

This what I did to solve the problem. It seems to work fine.

Quote: Originally Posted by Tim Surgent The easiest way to get iSight drivers is: 1. Download and install latest Apple Boot Camp from http://www.apple.com/macosx/bootcamp/ 2. Browse to Macintosh HD→Applications→Utilities 3. Right-click the “Boot Camp Assistant” and select “Show Package Contents”. 4. Go to Contents→Resources and click the DiskImage.dmg to mount it. 5. Find the “Install Macintosh Drivers for Windows XP.exe” and copy inside your VM. 6. Run

pour faire marcher camera usb sous mac, utiliser macam: http://sourceforge.net/projects/webcam-osx/files/macam/0.9.2/macam.0.9.2.dmg/download

je telecharge bootcamp

install du fichier dmg → extraire les drivers windows

onsoir, pas besoin de graver une galette pour rien, Tu vas dans application, utilitaire, clique droit sur assistant bootcamp“afficher le contenu du paquet”, contents, ressources, disque image.dmg, ca te monte un disque virtuel “macintoshdrivers”.

Tu l'ouvre et tu prend le dossier “intall macintosh drivers …..exe” soit sur une clés USB soit tu le met direct dans ton disque windows (si il est en fat32, soit avec un DD ext