Artikelverzeichnis
Vorwort
Da Lao Wang und ich in die Computerbranche in Richtung maschinelles Sehen wechseln möchten, habe ich vor, OpenCV von Grund auf zu lernen. Aber derzeit hat OpenCV zwei offizielle Sprachen, C++ und Python. In C# haben einige Experten die entsprechende OpenCV-Version angepasst. Die aktuellen Merkmale der drei Sprachen sind
- C++: Die schnellste Ausführungseffizienz, aber die Syntax ist extrem schwierig und die Entwicklung ist extrem schwierig
- Python: Die Entwicklungseffizienz ist extrem schnell, aber die Laufeffizienz ist extrem langsam. Wenn es nicht gut optimiert ist, ist es mehr als 20-mal langsamer als C++.
- C#: Die Entwicklungseffizienz ist schnell, nicht viel langsamer als bei Python und die Laufeffizienz ist geringer als bei C++. Es gibt jedoch nur wenige Tutorials zu OpenCV
Welche Bildverarbeitungssprache hat bessere Aussichten: Python, C++, Matlab oder Opencv?
Daher habe ich die schwierige, aber richtige Entscheidung getroffen, drei Sprachen gleichzeitig zu entwickeln! Tatsächlich sind es nur drei Sprachen, die gemeinsam dieselbe Funktion entwickeln.
Kursauswahl
Ich suche derzeit nach Tutorials auf Seite B und habe zwei Tutorials mit den höchsten Aufrufen gefunden. Wenn Sie von Grund auf lernen, empfiehlt es sich dennoch, das Video durchzugehen, da Sie viele Konfigurationsdetails und Compiler-Vorgänge verstehen müssen. Das Ziel in diesem Zeitraum besteht darin, dass der Code durchlaufen kann, was den Sieg bedeutet.
OpenCV4 C++ Quick Start Video 30 Vorlesungen – Reihensammlung
Insgesamt gibt es zwei Klassen, eine in Python und eine in C++. Als Entwickler belege ich auf jeden Fall zuerst den C++-Kurs, denn C++ ist der schwierigste Kurs, solange man ihn ausführen kann.
Umgebungskonfiguration
Python
Ich habe es bereits konfiguriert, daher werde ich den Link direkt hier einfügen.
C#
Ich habe es auch in C# gemacht
C++
Dieses Mal werde ich hauptsächlich über C++ sprechen
OpenCV-Installation und Konfiguration der Entwicklungsumgebung (C++)
Download der offiziellen OpenCV-Website
Entpacken Sie es nach dem Herunterladen
Erstellen Sie ein neues C++-Projekt
Testlauf
Ich habe diesen Code von jemand anderem kopiert
OpenCV-Installation und Konfiguration der Entwicklungsumgebung (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;
}
Wenn das folgende Bild erscheint, ist der Vorgang erfolgreich
Csharp-Version
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();
}
Python-Version
Python unterscheidet sich völlig von anderen Codes. Die Benennungslogik von C++ und Csharp ist grundsätzlich gleich, aber Python ist etwas einzigartig.
Nachdem ich lange im Internet gesucht hatte, fand ich endlich heraus, wie man zeichnet. Ich weiß nicht, ob Python und C++ im Wesentlichen gleich sind, aber die angezeigten Ergebnisse sind ähnlich.
Python verwendet OpenCV zum Zeichnen von Punkten und Kreisen (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)
Gitee-Lager
Ich habe ein neues Lagerhaus erstellt, aber es scheint nicht sehr sinnvoll zu sein. Aufgrund der unterschiedlichen Bibliotheksverwaltung der drei Dateien sind die globalen Bibliotheken von C++ und Python sowie Csharp unabhängige Bibliotheken für jedes Projekt. Daher ist es mühsam, häufig neue Projekte zu erstellen. Ich werde hier kein neues Projekt erstellen, sondern einfach den Code einfügen und verwenden.
Zusammenfassen
Dieses Mal habe ich gerade die OpenCV-Umgebung installiert. Das nächste Mal werde ich zurückgehen, um zu lernen, wie man OpenCV in drei Sprachen richtig schreibt.