opencv Tutoriel
Commencer avec opencv
Recherche…
Remarques
Cette section fournit une vue d'ensemble de ce qu'est une ouverture, et pourquoi un développeur peut vouloir l'utiliser.
Il devrait également mentionner tous les grands sujets à l’intérieur du forum, et les relier aux sujets connexes. La documentation de opencv étant nouvelle, vous devrez peut-être créer des versions initiales de ces rubriques connexes.
Versions
OpenCV 3
Version | Date de sortie |
---|---|
3.2 | 2016-12-23 |
3.1 | 2015-12-18 |
3.0 | 2015-06-03 |
3.0 RC1 | 2015-04-23 |
3.0 bêta | 2014-11-07 |
3.0 alpha | 2014-08-21 |
OpenCV 2
Version | Date de sortie |
---|---|
2.4.13 | 2016-05-19 |
2.4.12 | 2015-07-30 |
2.4.11 | 2015-02-25 |
2.4.10 | 2014-10-01 |
2.4.9 | 2014-04-14 |
2.3.1 | 2011-08-17 |
2.3.0 | 2011-07-04 |
2.2.0 | 2010-12-05 |
2.1.0 | 2010-04-06 |
2.0.0 | 2009-10-01 |
1.0.0 | 2006-10-19 |
Charger et afficher une image avec OpenCV
Avec cet exemple, nous verrons comment charger une image couleur à partir du disque et l'afficher à l'aide des fonctions intégrées d'OpenCV. Pour ce faire, nous pouvons utiliser les liaisons C / C ++, Python ou Java.
En C ++:
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
using namespace cv;
int main(int argc, char** argv) {
// We'll start by loading an image from the drive
Mat image = imread("image.jpg", CV_LOAD_IMAGE_COLOR);
// We check that our image has been correctly loaded
if(image.empty()) {
std::cout << "Error: the image has been incorrectly loaded." << std::endl;
return 0;
}
// Then we create a window to display our image
namedWindow("My first OpenCV window");
// Finally, we display our image and ask the program to wait for a key to be pressed
imshow("My first OpenCV window", image);
waitKey(0);
return 0;
}
En Python:
import sys
import cv2
# We load the image from disk
img = cv2.imread("image.jpg", cv2.CV_LOAD_IMAGE_COLOR)
# We check that our image has been correctly loaded
if img.size == 0
sys.exit("Error: the image has not been correctly loaded.")
# We create a window to display our image
cv2.namedwindow("My first OpenCV window")
# We display our image and ask the program to wait until a key is pressed
cv2.imshow("My first OpenCV window", img)
cv2.waitKey(0)
# We close the window
cv2.destroyAllWindows()
En Java:
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.CvType;
import org.opencv.highgui.Highgui;
public class Sample{
public static void main (String[] args) {
//Load native opencv library
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
//Read image from file first param:file location ,second param:color space
Mat img = imread("image.jpg",CV_LOAD_IMAGE_COLOR);
//If the image is successfully read.
if (img.size() == 0) {
System.exit(1);
}
}
HighGui n'a aucune fenêtre nommée ni équivalent dans opencv java. Utilisez swing ou swt pour afficher l'image.
Construire et installer OpenCV à partir des sources
Ceci est un guide étape par étape pour installer OpenCV 3 sur un système Linux basé sur Debian à partir de la source. Les étapes doivent rester les mêmes pour les autres distributions, il suffit de remplacer les commandes du gestionnaire de packages pertinentes lors de l'installation des packages pour la génération.
Remarque: Si vous n'avez pas envie de perdre du temps à créer des éléments ou à ne pas aimer le terminal, vous pouvez très probablement installer OpenCV à partir de l'interface graphique du gestionnaire de paquets Synaptic. Cependant, ces bibliothèques sont souvent obsolètes.
Préparez-vous à la construction
Emettez les commandes suivantes dans votre terminal pour installer les packages requis:
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config \
libavcodec-dev libavformat-dev libswscale-dev
Les packages suivants sont facultatifs:
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev \
libpng-devlibtiff-dev libjasper-dev libdc1394-22-dev
Emettez la commande suivante pour obtenir le code source OpenCV et préparer la génération:
mkdir ~/src
cd ~/src
git clone https://github.com/opencv/opencv.git
cd opencv
mkdir build && cd build
Construire et installer
Nous incluons les exemples dans la construction, mais n'hésitez pas à les laisser de côté. N'hésitez pas non plus à définir d'autres drapeaux et à personnaliser votre build comme vous le souhaitez.
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=ON ..
Si CMake n'a pas signalé d'erreurs ou de bibliothèques manquantes, poursuivez la construction.
make -j$(nproc)
Si aucune erreur n'a été produite, nous pouvons continuer à installer OpenCV sur le système:
sudo make install
Maintenant, OpenCV devrait être disponible pour votre système. Vous pouvez utiliser les lignes suivantes pour savoir où OpenCV a été installé et quelles bibliothèques ont été installées:
pkg-config --cflags opencv # get the include path (-I)
pkg-config --libs opencv # get the libraries path (-L) and the libraries (-l)
Test d'installation
Nous construisons d’abord les exemples C ++:
cd ~/src/opencv/samples
cmake .
make
Si aucune erreur n'a été produite, exécutez un échantillon, par exemple
./cpp/cpp-example-edge
Si l'exemple s'exécute, les bibliothèques C ++ sont correctement installées.
Ensuite, testez les liaisons Python:
python
>> import cv2
>> print cv2.__version__
Si ces commandes importent OpenCV et impriment la version correcte sans se plaindre, alors les liaisons Python sont correctement installées.
Félicitations, vous venez de construire et d'installer OpenCV. Bonne programmation!
Pour Mac, reportez-vous ici à l' installation d'OpenCV sur Mac OS X
Bonjour exemple mondial en java
Image OpenCv lue depuis le système de fichiers en Java
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
public class Giris {
public static void main(String[] args) {
//Load native library
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
//image container object
Mat imageArray;
//Read image from file system
imageArray=Imgcodecs.imread("C:\\Users\\mesutpiskin\\sample.jpg");
//Get image with & height
System.out.println(imageArray.rows());
System.out.println(imageArray.cols());
}
}
Obtenez une image de webcam
Affichez un flux vidéo en direct provenant d'une webcam à l'aide de la classe VideoCapture d'OpenCV avec Java, C / C ++ et Python.
Java
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.videoio.VideoCapture;
public class Camera {
public static void main(String[] args) {
// Load Native Library
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
// image container object
Mat imageArray = new Mat();
// Video device acces
VideoCapture videoDevice = new VideoCapture();
// 0:Start default video device 1,2 etc video device id
videoDevice.open(0);
// is contected
if (videoDevice.isOpened()) {
// Get frame from camera
videoDevice.read(imageArray);
// image array
System.out.println(imageArray.toString());
// Release video device
videoDevice.release();
} else {
System.out.println("Error.");
}
}
}
C ++
#include "opencv2/opencv.hpp"
#include "iostream"
int main(int, char**) {
// open the first webcam plugged in the computer
cv::VideoCapture camera(0);
if (!camera.isOpened()) {
std::cerr << "ERROR: Could not open camera" << std::endl;
return 1;
}
// create a window to display the images from the webcam
cv::namedWindow("Webcam", CV_WINDOW_AUTOSIZE);
// this will contain the image from the webcam
cv::Mat frame;
// capture the next frame from the webcam
camera >> frame;
// display the frame until you press a key
while (1) {
// show the image on the window
cv::imshow("Webcam", frame);
// wait (10ms) for a key to be pressed
if (cv::waitKey(10) >= 0)
break;
}
return 0;
}
Python
import numpy as np
import cv2
# Video source - can be camera index number given by 'ls /dev/video*
# or can be a video file, e.g. '~/Video.avi'
cap = cv2.VideoCapture(0)
while(True):
# Capture frame-by-frame
ret, frame = cap.read()
# Our operations on the frame come here
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Display the resulting frame
cv2.imshow('frame',gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
Premiers pas avec OpenCV 3.1 sous Windows
Nous installons OpenCV 3.1.0 sous Windows et commençons. Il existe deux manières d’installer OpenCV sur Windows. L'une consiste à télécharger le programme d'installation et à l'exécuter. L'autre consiste à construire à partir des sources.
C'est le moyen le plus simple d'installer OpenCV et de commencer. OpenCV fournit des fichiers binaires de pré-compilation à installer sur Windows ici . Une fois le téléchargement terminé, extrayez-le et installez-le sur le chemin choisi.
ProTip: Assurez-vous que votre chemin OpenCV n'inclut aucun espace. Donc, c'est mieux si vous l'installez simplement dans le répertoire racine C: \ ou D: \
Le problème avec la méthode ci-dessus est que vous ne pouvez pas utiliser les modules opencv_contrib. En outre, il ne vient pas avec tous les outils et bibliothèques tiers. Donc, si vous voulez utiliser tout cela, suivez simplement.
Je vous expliquerai le minimum pour installer OpenCV depuis la source. Pour plus avancé, référez-vous ici .
- Installez CMake .
- Clone source OpenCV de https://github.com/Itseez/opencv.git dans un répertoire qui n'a pas d'espaces. Appelons-le "OpenCVdir".
- Maintenant, ouvrez l'interface graphique de CMake et ajoutez votre répertoire source (OpenCVdir) au menu Sources et créez le répertoire dans le menu de génération. Conseil: S'il n'y a pas de répertoire de compilation, créez-en un dans votre dossier opencv.
- Cliquez sur Configurer et sélectionnez votre version du compilateur Visual Studio. J'ai eu Visual Studio 2013 Professional 32 bits, j'ai donc choisi le compilateur Visual Studio 12.
Conseil: vous pouvez télécharger Visual Studio 2013 Professional à partir d'ici. Il est livré avec 30 jours d'essai + 90 jours de prolongation après s'être connecté.
- Appuyez sur Terminer et CMake chargera tous les paquets automatiquement. Vous pouvez ajouter ou supprimer des packages. Appuyez à nouveau sur Configure.
- Si vous voulez construire avec des modules opencv_contrib supplémentaires, vous devez les télécharger ici . Ensuite, extrayez-les et ajoutez le répertoire opencv_contrib / modules à votre CMake comme indiqué ci-dessous.
- Maintenant, appuyez à nouveau sur Configurer, puis appuyez sur Générer.
- Fermer CMake. Allez dans le dossier your_opencv \ build et ouvrez le fichier nommé 'OpenCV.sln'. - Il va ouvrir Visual Studio. Maintenant, lancez-le dans les deux Debug mode et libération mode.
- Maintenant, dans l'explorateur de solutions en haut à droite de Visual Studio, sélectionnez le projet INSTALL et construisez-le.
Hourra!! Profitez de votre OpenCV.
L'ajout du répertoire d'inclusion OpenCV à la variable PATH de la variable d'environnement:
Accédez à Propriétés système et cliquez sur Paramètres système avancés.
Maintenant, cliquez sur Variables d'environnement >> Chemin >> Modifier.
Ici, ajoutez le dossier bin situé dans votre dossier OpenCVdir / build / install / x86 / vc ** / bin à cette variable. Veillez à ne pas remplacer les valeurs de chemin existantes.
Après cela, vous devez redémarrer votre système pour que les variables d'environnement changent et que vous êtes maintenant prêt.
Quoi et pourquoi OPENCV?
OpenCV (Open Source Computer Vision Library) est une bibliothèque de logiciels et de logiciels d'apprentissage automatique. Il a été conçu pour divers objectifs tels que l'apprentissage automatique, la vision par ordinateur, l'algorithme, les opérations mathématiques, la capture vidéo, le traitement d'images, etc. , android, ios). En outre, il a enveloppé dans divers langages de programmation renommés. Dans le cadre du contrat de licence, les entreprises peuvent accéder au code et le modifier.
La bibliothèque contient plus de 2500 algorithmes optimisés, qui ont une excellente précision en termes de performances et de vitesse. Ces algorithmes peuvent être utilisés pour détecter et reconnaître des visages, identifier des objets, classer des actions humaines dans des vidéos, suivre des mouvements de caméra, suivre des objets en mouvement, extraire des modèles 3D d'objets, produire des nuages de points 3D à partir de caméras stéréo image d'une scène entière, trouver des images similaires à partir d'une base de données d'images, supprimer les yeux rouges des images prises, suivre les mouvements oculaires, reconnaître les décors et établir des marqueurs pour la superposer à la réalité augmentée. , les développeurs et les chercheurs, le nombre est plus de 47 000 et le nombre estimé de téléchargements dépasse 7 millions. La bibliothèque est largement constituée de sociétés professionnelles, de groupes de recherche et d’autres groupes.
De nombreuses entreprises bien établies telles que Google, Yahoo, Microsoft, Intel, IBM, Sony, Honda et Toyota qui emploient la bibliothèque, ainsi que de nombreuses startups telles que Applied Minds, VideoSurf et Zeitera, utilisent largement OpenCV. Les utilisations déployées d'OpenCV s'étendent de l'assemblage d'images StreetView, à la détection d'intrusions dans la vidéo de surveillance en Israël, à la surveillance des équipements miniers en Chine, à la détection des accidents de noyade en Europe et à l'art interactif. L'Espagne et New York vérifient les pistes en Turquie et inspectent les étiquettes des produits dans les usines du monde entier pour détecter rapidement les visages au Japon. Il possède des interfaces C ++, C, Python, Java et MATLAB et supporte Windows, Linux, Android et Mac OS. OpenCV s'appuie principalement sur les applications de vision en temps réel et tire parti des instructions MMX et SSE lorsqu'elles sont disponibles. Des interfaces complètes CUDA et OpenCL sont en cours de développement. Il existe plus de 500 algorithmes et environ 10 fois plus de fonctions qui composent ou supportent ces algorithmes. OpenCV est écrit nativement en C ++ et possède une interface basée sur des modèles qui fonctionne de manière transparente avec les conteneurs STL.
Informations collectées sur le site officiel