Ligne 20 : | Ligne 20 : | ||
===Compilation Version 2.4.2=== | ===Compilation Version 2.4.2=== | ||
- | |||
2013/01/10 ligne de commande de préparation à la compilation cmake: <br> | 2013/01/10 ligne de commande de préparation à la compilation cmake: <br> | ||
Ligne 30 : | Ligne 29 : | ||
Dans notre cas des librairies doivent etre installé avant le passage de cmake: TBB, OpenEXR, Python, OpenGL ( celles d'AMD sont parfaites quand on a une carte graphique AMD), pkgconfig, ffmpeg, libav, libjpeg-dev, ... | Dans notre cas des librairies doivent etre installé avant le passage de cmake: TBB, OpenEXR, Python, OpenGL ( celles d'AMD sont parfaites quand on a une carte graphique AMD), pkgconfig, ffmpeg, libav, libjpeg-dev, ... | ||
- | |||
- | |||
- | |||
===Compilation Version 2.4.3=== | ===Compilation Version 2.4.3=== | ||
Ligne 44 : | Ligne 40 : | ||
A noter que je n'ai pas réussi, pour l'instant, a compiler OpenCV avec les libs libclAmdFft et clAmdFft d'AMD. Elles sont ici en OFF avec un message de cmake sur leurs include et lib. | A noter que je n'ai pas réussi, pour l'instant, a compiler OpenCV avec les libs libclAmdFft et clAmdFft d'AMD. Elles sont ici en OFF avec un message de cmake sur leurs include et lib. | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
===Compilation Version 2.4.4=== | ===Compilation Version 2.4.4=== | ||
Ligne 61 : | Ligne 49 : | ||
-D CLAMDBLAS_LIBRARIES:string=/usr/lib/fglrx/libclAmdBlas.so -D CLAMDFFT_INCLUDE_DIR:string=/usr/include/ATI/clAmdFft | -D CLAMDBLAS_LIBRARIES:string=/usr/lib/fglrx/libclAmdBlas.so -D CLAMDFFT_INCLUDE_DIR:string=/usr/include/ATI/clAmdFft | ||
-D CLAMDFFT_LIBRARIES:string=/usr/lib/fglrx/libclAmdFft.Runtime.so -D CMAKE_BUILD_TYPE:STRING=RELEASE .. | -D CLAMDFFT_LIBRARIES:string=/usr/lib/fglrx/libclAmdFft.Runtime.so -D CMAKE_BUILD_TYPE:STRING=RELEASE .. | ||
- | |||
- | |||
- | |||
- | |||
- | |||
Ligne 77 : | Ligne 60 : | ||
CLAMDBLAS_PATH=/opt/clAmdBlas-1.10.321 | CLAMDBLAS_PATH=/opt/clAmdBlas-1.10.321 | ||
- | Cependant ce n'est pas suffisant. Il y a des bugs dans le fichier cmake/OpenCVDetectOpenCL.cmake<br><br> | + | Cependant ce n'est pas suffisant. Il y a des bugs dans le fichier cmake/OpenCVDetectOpenCL.cmake . j'ai ouverts un rapport a http://code.opencv.org/issues/2985 (nécessite de créer un compte) |
+ | <br><br> | ||
Voici un patch:<br> | Voici un patch:<br> | ||
<pre> | <pre> | ||
Ligne 124 : | Ligne 108 : | ||
cmake -D BUILD_EXAMPLES:bool=ON -D WITH_OPENCL:bool=ON -D WITH_OPENCLAMDFFT:bool=ON -D WITH_OPENCLAMDBLAS:bool=ON -D WITH_QT:bool=ON -D WITH_OPENGL:bool=ON -D WITH_OPENGL:bool=ON -D ENABLE_SSE:bool=ON -D ENABLE_SSE2:bool=ON -D ENABLE_SSE3:bool=ON -D ENABLE_SSES3:bool=ON -D ENABLE_SSE41:bool=ON -D ENABLE_SSE42:bool=ON -D WITH_TBB:bool=ON -D CMAKE_BUILD_TYPE:STRING=RELEASE .. | cmake -D BUILD_EXAMPLES:bool=ON -D WITH_OPENCL:bool=ON -D WITH_OPENCLAMDFFT:bool=ON -D WITH_OPENCLAMDBLAS:bool=ON -D WITH_QT:bool=ON -D WITH_OPENGL:bool=ON -D WITH_OPENGL:bool=ON -D ENABLE_SSE:bool=ON -D ENABLE_SSE2:bool=ON -D ENABLE_SSE3:bool=ON -D ENABLE_SSES3:bool=ON -D ENABLE_SSE41:bool=ON -D ENABLE_SSE42:bool=ON -D WITH_TBB:bool=ON -D CMAKE_BUILD_TYPE:STRING=RELEASE .. | ||
</pre> | </pre> | ||
+ | |||
+ | |||
+ | ==Utilisation== | ||
+ | |||
+ | *http://www.geckogeek.fr/lire-le-flux-dune-webcam-camera-video-avec-opencv.html | ||
+ | <br><br> |
Sommaire |
http://opencv.org/
extrait wikipedia:
OpenCV (pour Open Computer Vision) est une bibliothèque graphique libre, initialement développée par Intel, spécialisée dans le traitement d'images en temps réel. La société de robotique Willow Garage assure le support de cette bibliothèque depuis 2008.
Cette bibliothèque est distribuée sous licence BSD.
2013/01/10 ligne de commande de préparation à la compilation cmake:
mkdir OpenCV-2.4.2/OpenCV.build
cmake -DWITH_OPENGL:bool=ON -DWITH_QT:bool=ON -DWITH_TBB:bool=ON -DBUILD_EXAMPLES:bool=ON -DBUILD_DOCS:bool=ON
-DINSTALL_C_EXAMPLES:bool=ON -DWITH_UNICAP:bool=ON -DWITH_GTK:bool=ON -DWITH_OPENEXR:bool=ON -DENABLE_SSE3:bool=ON ..
Voir le fichier OpenCV-2.4.2/CMakeList.txt pour les options de CMake.
Dans notre cas des librairies doivent etre installé avant le passage de cmake: TBB, OpenEXR, Python, OpenGL ( celles d'AMD sont parfaites quand on a une carte graphique AMD), pkgconfig, ffmpeg, libav, libjpeg-dev, ...
mkdir OpenCV-2.4.2/OpenCV.build/Release
cmake -D BUILD_EXAMPLES:bool=ON -D WITH_OPENCL:bool=ON -D WITH_QT:bool=ON -D WITH_OPENGL:bool=ON -D WITH_OPENCLAMDFFT:bool=OFF
-D WITH_OPENCLAMDBLAS:bool=OFF -D WITH_TBB:bool=ON -D CMAKE_BUILD_TYPE:string=Release -D CLAMDBLAS_INCLUDE_DIR:string=/usr/include/ATI/clAmdBlas
-D CLAMDBLAS_LIBRARIES:string=/usr/lib/fglrx/libclAmdBlas.so -D CLAMDFFT_INCLUDE_DIR:string=/usr/include/ATI/clAmdFft
-D CLAMDFFT_LIBRARIES:string=/usr/lib/fglrx/libclAmdFft -D ENABLE_SSE41:bool=ON -D ENABLE_SSE42:bool=ON ..
Voir le fichier OpenCV-2.4.3/CMakeList.txt pour les options de CMake.
A noter que je n'ai pas réussi, pour l'instant, a compiler OpenCV avec les libs libclAmdFft et clAmdFft d'AMD. Elles sont ici en OFF avec un message de cmake sur leurs include et lib.
mkdir OpenCV-2.4.5/Release
cmake -D BUILD_EXAMPLES:bool=ON -D WITH_OPENCL:bool=ON -D WITH_OPENCLAMDFFT:bool=ON -D WITH_OPENCLAMDBLAS:bool=ON -D WITH_QT:bool=ON -D WITH_OPENGL:bool=ON -D CLAMDBLAS_INCLUDE_DIR:string=/usr/include/ATI/clAmdBlas -D CLAMDBLAS_LIBRARIES:string=/usr/lib/fglrx/libclAmdBlas.so -D CLAMDFFT_INCLUDE_DIR:string=/usr/include/ATI/clAmdFft -D CLAMDFFT_LIBRARIES:string=/usr/lib/fglrx/libclAmdFft.Runtime.so -D CMAKE_BUILD_TYPE:STRING=RELEASE ..
ajout des variables suivantes au fichier /etc/environement pour valoriser CLAMDFFT_PATH et CLAMDBLAS_PATH utilisé par cmake/OpenCVDetectOpenCL.cmake pour détecter FFT et BLAS d'AMD.
AMDAPPSDKROOT="/opt/AMDAPP" LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"/opt/AMDAPP/lib/x86_64:/opt/AMDAPP/lib/x86:/opt/clAmdBlas-1.10.321/lib64:/opt/clAmdBlas-1.10.321/lib32:/opt/clAmdFft-1.10.321/lib64:/opt/clAmdFft-1.10.321/lib32" CLAMDFFT_PATH=/opt/clAmdFft-1.10.321 CLAMDBLAS_PATH=/opt/clAmdBlas-1.10.321
Cependant ce n'est pas suffisant. Il y a des bugs dans le fichier cmake/OpenCVDetectOpenCL.cmake . j'ai ouverts un rapport a http://code.opencv.org/issues/2985 (nécessite de créer un compte)
Voici un patch:
--- OpenCVDetectOpenCL.cmake.origine 2013-04-05 11:00:20.000000000 +0200 +++ OpenCVDetectOpenCL.cmake 2013-04-24 23:31:21.124626032 +0200 @@ -42,11 +42,17 @@ set(OPENCL_INCLUDE_DIRS ${OPENCL_INCLUDE_DIR}) set(OPENCL_LIBRARIES ${OPENCL_LIBRARY}) - if (X86_64) +if (WIN64) set(CLAMD_POSSIBLE_LIB_SUFFIXES lib64/import) - elseif (X86) +elseif (WIN32) set(CLAMD_POSSIBLE_LIB_SUFFIXES lib32/import) - endif() +endif() + +if (X86_64 AND UNIX ) + set(CLAMD_POSSIBLE_LIB_SUFFIXES lib64) +elseif (X86 AND UNIX) + set(CLAMD_POSSIBLE_LIB_SUFFIXES lib32) +endif() if(WITH_OPENCLAMDFFT) find_path(CLAMDFFT_ROOT_DIR @@ -78,7 +84,7 @@ if(WITH_OPENCLAMDBLAS) find_path(CLAMDBLAS_ROOT_DIR NAMES include/clAmdBlas.h - PATHS ENV CLAMDFFT_PATH ENV ProgramFiles + PATHS ENV CLAMDBLAS_PATH ENV ProgramFiles PATH_SUFFIXES clAmdBlas AMD/clAmdBlas DOC "AMD FFT root directory" NO_DEFAULT_PATH)
Pour patcher, copier coller les lignes ci-dessus dans un fichier OpenCV-2.4.5/cmake/correction.patch. Puis :
cd OpenCV-2.4.5/cmake patch -p0 < correction.patch
mkdir OpenCV-2.4.5/Release
cmake -D BUILD_EXAMPLES:bool=ON -D WITH_OPENCL:bool=ON -D WITH_OPENCLAMDFFT:bool=ON -D WITH_OPENCLAMDBLAS:bool=ON -D WITH_QT:bool=ON -D WITH_OPENGL:bool=ON -D WITH_OPENGL:bool=ON -D ENABLE_SSE:bool=ON -D ENABLE_SSE2:bool=ON -D ENABLE_SSE3:bool=ON -D ENABLE_SSES3:bool=ON -D ENABLE_SSE41:bool=ON -D ENABLE_SSE42:bool=ON -D WITH_TBB:bool=ON -D CMAKE_BUILD_TYPE:STRING=RELEASE ..