Annuaire d'articles
Préface
Parce que Lao Wang et moi souhaitons passer à l'industrie informatique en direction de la vision industrielle, je prévois de commencer à apprendre OpenCV à partir de zéro. Mais actuellement OpenCV a deux langages officiels, C++ et Python. En C#, certains experts ont adapté la version OpenCV correspondante. Les caractéristiques actuelles des trois langues sont
- C++ : l'efficacité d'exécution la plus rapide, mais la syntaxe est extrêmement difficile et le développement est extrêmement difficile
- Python : L'efficacité du développement est extrêmement rapide, mais l'efficacité de l'exécution est extrêmement lente. S'il n'est pas bien optimisé, il est plus de 20 fois plus lent que le C++.
- C# : l'efficacité du développement est rapide, pas beaucoup plus lente que Python, et l'efficacité d'exécution est inférieure à celle du C++. Mais il existe peu de tutoriels liés à OpenCV
Quel langage de traitement d’image a de meilleures perspectives : python, C++, Matlab ou Opencv ?
J'ai donc pris la décision difficile mais correcte de développer trois langages en même temps ! En fait, ce ne sont que trois langages qui développent ensemble la même fonction.
Sélection de cours
Je recherche actuellement des tutoriels sur le site B et j'ai trouvé deux tutoriels avec les vues les plus élevées. Si vous apprenez à partir de zéro, il est toujours recommandé de parcourir la vidéo, car vous devez comprendre de nombreux détails de configuration et opérations du compilateur. Le but dans cette période est que le code puisse être appliqué, ce qui est la victoire.
Vidéo de démarrage rapide OpenCV4 C++ 30 conférences - Collection de séries
Il existe deux classes au total, une en Python et une en C++. En tant que développeur, je prends définitivement le cours C++ en premier, car le C++ est le plus difficile tant que vous pouvez l'exécuter.
Configuration de l'environnement
Python
Je l'ai déjà configuré, je vais donc mettre le lien directement ici.
C#
Je l'ai fait aussi en C#
C++
Cette fois je parlerai principalement de C++
Configuration de l'environnement d'installation et de développement OpenCV (C++)
Téléchargement du site officiel d'OpenCV
Après le téléchargement, décompressez-le
Créer un nouveau projet C++
essai
J'ai copié ce code de celui de quelqu'un d'autre
Configuration de l'environnement d'installation et de développement OpenCV (C++)
#include <opencv2/opencv.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main()
{
Mat image = Mat::zeros(300, 600, CV_8UC3);
circle(image, Point(300, 200), 100, Scalar(25, 110, 288), -100);
circle(image, Point(400, 200), 100, Scalar(255, 123, 127), -100);
imshow("Show Window", image);
waitKey(0);
return 0;
}
Si l'image suivante apparaît, l'opération est réussie
Version Csharp
static void Main(string[] args)
{
Mat image = new Mat(300,600,MatType.CV_8UC3);
image.Circle(new Point(300, 200), 100, new Scalar(25, 110, 288), -100);
image.Circle(new Point(400, 200), 100, new Scalar(255, 123, 127), -100);
Cv2.ImShow("Show Window",image);
Cv2.WaitKey(0);
//Console.WriteLine("Hello, World!");
Console.ReadKey();
}
Version Python
Python est complètement différent des autres codes. La logique de dénomination de C++ et Csharp est fondamentalement la même, mais Python est un peu unique.
Après avoir longuement cherché sur Internet, j'ai enfin découvert comment dessiner. Je ne sais pas si Python et C++ sont essentiellement identiques, mais les résultats affichés sont similaires.
Python utilise OpenCV pour dessiner des points et des cercles (2)
import cv2
# python中需要np来辅助
import numpy as np
image =np.zeros((300, 600, 3), np.uint8)
cv2.circle(image,(300,200),100,(25,110,288),-100);
cv2.circle(image,(400,200),100,(255,123,127),-100);
cv2.imshow("Show Window",image)
cv2.waitKey(0)
entrepôt de gîte
J'ai créé un nouvel entrepôt, mais cela ne semble pas avoir beaucoup de sens. En raison de la différence dans la gestion des bibliothèques des trois fichiers, les bibliothèques globales de C++, Python et Csharp sont des bibliothèques indépendantes pour chaque projet. Il est donc difficile de créer fréquemment de nouveaux projets. Je ne créerai pas de nouveau projet ici, collez simplement le code et utilisez-le.
Résumer
Cette fois, je viens d'installer l'environnement OpenCV. La prochaine fois, j'y reviendrai pour apprendre à utiliser correctement trois langages pour écrire OpenCV.