In Bezug auf die Übersetzung von "OpenCV-Python Tutorials" habe ich diesmal mit Mahotas verglichen.
Es gibt mehrere Bibliotheken, die Python zur Bilderkennung verwenden, aber es gibt auch eine Bibliothek namens mahotas. Dies verwendet auch das Datenformat von numpy. Für Bibliotheken, die Bilderkennung mit Python durchführen,
es gibt. mahotas wurde in C ++ entwickelt und widmet sich als Bibliothek für Python.
mahotas Why did you not simply contribute to scipy.ndimage or scikits.image? Es erklärt, warum Mahotas als eine Bibliothek existiert, die sich von Scipy und Scicit-Image unterscheidet.
Sie können die neuesten Informationen zu allen in Mahotas implementierten Funktionen erhalten, indem Sie [Python (x, y)] [Dokumentation] [Python-Dokumentationsserver] starten und über Site-Pakete auf Mahotas zugreifen.
http://mahotas.readthedocs.org/en/latest/index.html
** Einführung in OpenCV **
Beginnen wir mit OpenCV-Python
OpenCV-Python unter Windows installieren Stellen Sie OpenCV für Windows zur Verfügung.
Stellen Sie OpenCV in Fedora zur Verfügung.
Wenn Sie Python (x, y) unter Windows verwenden, zuerst >>> import mahotas Bitte versuche. Wenn keine Fehler auftreten, haben Sie bereits bestätigt, dass Mahotas als Standard-Python-Plug-In (x, y) installiert ist. Wenn Sie eine Fehlermeldung erhalten, können Sie ein kompiliertes Python-Modul erhalten [Christoph Gohlkes Website] Es wird empfohlen, von (http://www.lfd.uci.edu/~gohlke/pythonlibs/) zu installieren. Ich empfehle nicht, aus dem Quellcode in Visual Studio zu kompilieren (Hinweis 1). Die Installation von Mahotas wird auf der Mahotas-Website wie folgt gezeigt:
mahotas How To Install Mahotas
** GUI-Funktionen in OpenCV **
Beginnen wir mit der Bildbearbeitung 画像を読み込むこと、表示すること、保存することを学びます。
Starten wir den Videobetrieb 動画の再生、カメラからの動画のキャプチャと動画としての保存を学びましょう。
OpenCV-Zeichenfunktionen 直線、矩形、楕円、円などをOpenCVを使って描画することを学びます。
Verwenden Sie die Maus als Pinsel マウスを使って塗りつぶし
Trackbar als Farbpalette verwenden パラメータを制御するためのtrackbarを作る
** Kernoperation **
Grundlegende Operation für Bilder
Sie lernen, wie Sie Pixelwerte lesen und bearbeiten, im ROI (Region of Interest) von Bildern arbeiten und andere grundlegende Vorgänge ausführen.
"Praktisches maschinelles Lernsystem" Kapitel 10 Erkennung von Bildverarbeitungsmustern Das Importieren von Bildern mit Mahotas wird eingeführt. Wieder ist das Datenformat nach dem Lesen numpy.array. Der Funktionsname lautet ebenfalls imread (). Da mahotas.imread (Name) in der Reihenfolge RGB gelesen wird, ist es bei der Anzeige mit imshow () von matplotlib kompatibel. (Anmerkung 2)
python
#!/usr/bin/python
# -*- coding: utf-8 -*-
import mahotas as mh
import pylab as plt
img=mh.imread("img_0000.png ")
plt.figure(1)
plt.imshow(img)
plt.show()
Führt arithmetische Operationen am Bild aus.
[Methode zur Messung und Verbesserung der Ausführungsleistung] (http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_core/py_optimization/py_optimization.html#optimization-techniques)
Es ist wichtig, die Antwort zu erhalten. Noch wichtiger ist es jedoch, die Antwort am schnellsten zu erhalten. Überprüfen Sie die Geschwindigkeit Ihres Codes, lernen Sie, Ihren Code zu optimieren und vieles mehr.
Mathematische Methoden in OpenCV PCA(Principalcomponentsanalysis 主成分分析)、SVD(singularvaluedecomposition 特異値分解)などのOpenCVで提供されている数学的手法のいくつかを学びます。
** Bildverarbeitung mit OpenCV **
Farbraum ändern 異なる色空間で画像を変換する方法を学びましょう。そして動画で色つきの物体を追跡させてみましょう。
mahotas Color Space Conversions
Gibt es eine Umwandlung in Sepia, die für die Umwandlung des Mahotas-Farbraums charakteristisch ist? Da die Umwandlung des Farbraums von OpenCV erheblich ist, ist es besser, ihn als Ergänzung zu verwenden.
lenas = mh.colors.rgb2sepia(lena)
Geometrische Transformation des Bildes 回転、変形などのさまざまな幾何変換を施してみましょう。
Bildschwellenwertverarbeitung 画像をグローバルしきい値、適応的閾値処理 、大津の2値化などで2値化画像に変換してみましょう。
Mahotas beinhaltet auch die Binarisierung von Otsu. Eine andere Binärisierungsmethode Riddler-Calvard-Methode ist ebenfalls implementiert.
Bildglättung 画像をぼかしたり、あつらえたカーネルを用いた画像にフィルタすることを学びます。
Moleküle wie Kontraktion, Expansion, Öffnen, Schließen usw. Erfahren Sie mehr über Phologietransformation.
Expansion und Kontraktion sind ebenfalls in OpenCV enthalten, bedingte Expansion und Kontraktion sind jedoch nicht in OpenCV und Mahotas enthalten Es ist in enthalten, und es scheint, dass es sich lohnt, es gut zu verwenden.
mahotas Dilation & Erosion
mahotas Conditional morphological erosion.
mahotas Conditional dilation
Finden Sie Bildverläufe, Kanten usw. Machen wir das.
Lassen Sie uns die Kante mithilfe der Canny-Kantenerkennung finden.
Mahotas Sobel-Kantenerkennung
Mahotas hat einen Unterschied von Gauß. Compute edges using the Difference of Gaussian (DoG) operator. Diese Differentialoperation ist in der Prozedur zur Berechnung der SIFT-Merkmale enthalten. OpenCV hat keinen direkten Unterschied von Gauß. Ein Beispiel für die Implementierung mit Stackoverflowを見つけて利用してみることができます。
Bildpyramide 画像ピラミッドとそれを画像混合に使う方法を学びます。
** Konturieren mit OpenCV **
Finde den Umriss und zeichne
Erfahren Sie, wie Sie verschiedene Konturmerkmale, Bereiche, Perimeter, umschreibende Rechtecke usw. finden.
OpenCV ist wohl die vollständigste Bibliothek für die Bildverarbeitung und Bilderkennung. Das Binden in Python bedeutet jedoch nicht unbedingt, dass Sie alle Funktionen nutzen können. Das Beschriften ist beispielsweise ein solches Merkmal. Bibliotheken wie Mahotas können die fehlenden Funktionen im aktuellen OpenCV-Python-Framework (cv2) ausgleichen (Hinweis 3).
Kontureigenschaften Erfahren Sie, wie Sie verschiedene Kontureigenschaften, Festigkeit, durchschnittliche Festigkeit und mehr finden.
Erfahren Sie, wie Sie Konvexitätsfehler finden, Polygontests zeigen und mit verschiedenen Formen übereinstimmen.
Mahotas Konvexer Rumpf konvexer Rumpf
Erfahren Sie mehr über die Hierarchie der Konturen.
Histogramm in OpenCV OpenCVにあるヒストグラムの全て。
OpenCV OpenCV-Histogramm
Histogramme-1: Finden, zeichnen und analysieren! !! !!
Suchen Sie das Histogramm und zeichnen Sie es.
Lernen Sie, das Histogramm zu reduzieren, um ein gutes Kontrastbild zu erhalten.
Erfahren Sie, wie Sie ein zweidimensionales Histogramm finden und zeichnen.
Erfahren Sie, wie Sie ein Histogramm auf ein bereichsfarbenes Objekt zurückprojizieren.
Bildkonvertierung mit OpenCV フーリエ変換、コサイン変換などOpenCVにある様々な画像変換に出会ってみましょう。
Template Matching テンプレートマッチングを用いて画像中から物体を探してみましょう。
mahotas Match template to image
Huff-Zeilenkonvertierung 画像の中から線を検出してみましょう。
Huff Yen Conversion 画像の中から円を検出してみましょう。
Flächenteilung von Bildern basierend auf dem Watershed-Algorithmus Teilen wir den Bildbereich mithilfe des Watershed-Algorithmus.
mahotas [Seeded watershed in n-dimensions] (http://mahotas.readthedocs.org/en/latest/api.html?highlight=watershed#mahotas.cwatershed)
Extrahieren wir den Vordergrund mit dem GrabCut-Algorithmus.
** Funktionserkennung und Funktionsbeschreibung **
Was sind die Hauptmerkmale des Bildes? Wie nützlich sind diese Funktionen?
Harris Corner Detection ええ、コーナーはよい特徴? でもどうやって見つけますか?
[Shi-Tomasi-Eckendetektor und gute Funktionen zum Verfolgen](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_shi_tomasi/py_shi_tomasi.html#shi- tomasi) Werfen wir einen Blick auf die Details der Shi-Tomasi-Eckenerkennung.
Einführung in die SIFT-Funktion (Scale-Invariant Feature Transform)
Der Harris-Eckendetektor ist nicht gut genug, wenn sich der Maßstab des Bildes ändert. Lowe hat eine bahnbrechende Methode entwickelt, um Funktionen zu finden, die die Skalierung nicht beeinflussen. Es wird als SIFT-Merkmalsmenge bezeichnet.
Einführung in die SURF-Funktionen (Speeded-Up Robust Features)
SIFT-Funktionen sind sicherlich gute Funktionen. Aber es ist nicht schnell genug. Daher wurde eine Hochgeschwindigkeitsversion namens SURF Feature Quantity erstellt.
Mahotas hat auch SURF. Speeded-Up Robust Features
SCHNELLER Algorithmus zur Eckenerkennung 上に示した特徴検出器は全てよいものです。しかし、SLAM(訳注:SimultaneousLocalizationandMapping、自己位置推定と環境地図作成を同時に行うこと)のようなリアルタイムの用途に使えるほど十分に速いとは言えません。そこでFASTアルゴリズムの登場です。これは本当に"FAST(速い)"です。
KURZE unabhängige Elementarfunktionen SIFT特徴量は、128個の浮動小数点からなる特徴記述子を用いています。そのような特徴量を数千個あつかうことを考えてごらんなさい。そのときたくさんのメモリーとマッチングのためにたくさんの時間を使 ist. Sie können die Features komprimieren, um sie schneller zu machen, aber Sie müssen die Features erst noch berechnen. Hier kommt BRIEF ins Spiel und bietet eine Verknüpfung zum Auffinden von Binärdeskriptoren mit weniger Speicher, schnellerer Übereinstimmung und höherer Erkennung.
ORB-Funktionen (Oriented FAST and Rotated BRIEF) SIFT特徴量とSURF特徴量はとてもよく動くのだけれども、あなたの用途の中で使うには毎年数ドル払わなければならないとしたらどうしますか? それらは特許が成立しているのです。その問題を解決するには、OpenCVの開発者はSIFT特徴量とSURF特徴量への新しい"FREE"な代替品、ORBを思いつきました。
Feature Quantity Matching 特徴検出器と記述子についてたくさん理解しました。異なる記述子を対応付ける方法を学ぶときです。OpenCVはそのために2つの手法、Brute-Forceマッチング手法とFLANNに基づくマッチング手法です。
Feature-Matching und Homografie zum Finden von Objekten いま特徴量マッチングについて知っているので、複雑な画像中の物体を見つけるためにcalib3dモジュールとともに混ぜ合わせてみましょう。
Mahotas enthält haralische Merkmale, die zwischen glatten und gemusterten Bildern unterscheiden können.
SURF-Funktionen sind auch in Mahotas enthalten. "10.4 Beschreibung nach lokalen Merkmalen"]
mahotas Local Binary Patterns
** Videoanalyse **
Meanshift- und Camshift-Tracking
Wir haben bereits ein Beispiel für farbbasiertes Tracking gesehen. Es ist einfach. Lassen Sie uns einen Blick darauf werfen, wie der bessere Algorithmus, Mean Shift und seine verbesserte Version, CamShift, Objekte finden und verfolgen.
[Optischer Fluss] (http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_video/py_lucas_kanade/py_lucas_kanade.html#lucas-kanade) Erfahren Sie mehr über das wichtige Konzept des optischen Flusses. Es bezieht sich auf Video und hat viele Verwendungszwecke.
In einigen Anwendungen ist es erforderlich, den Vordergrund wie die Objektverfolgung zu extrahieren. Die Hintergrundentfernung ist eine bekannte Technik, die in diesen Fällen hilft.
** Kamerakalibrierung und 3D-Rekonstruktion **
Kamerakalibrierung 利用しているカメラがどれだけ良いものか試してみましょう。それで撮影した画像に歪みが見られるでしょうか?もしあれば、どう補正しましょうか?
Einstellungsschätzung Eine kurze Sitzung, die Ihnen hilft, mit dem Calib-Modul einen kleinen coolen 3D-Effekt zu erzielen.
Epipolare Geometrie エピポーラ幾何とエピポーラ制約を理解しましょう。
Informationen zur Tiefenentfernung vom Stereobild 2D画像群から奥行き情報を得ます。
** Maschinelles Lernen **
K-nächste Methode K最近傍法の使い方を学ぶとともに、K最近傍法を用いて手書きの数字認識について学びます。
Support Vector Machine (SVM) SVMの考え方を理解します
K durchschnittliche Methode Lernen Sie, in Cluster zu kategorisieren. Anschließend lernen Sie, Farben mithilfe der K-Mittelungsmethode zu quantisieren.
###Computational Photography Hier erfahren Sie mehr über die verschiedenen Funktionen von OpenCV im Zusammenhang mit Computerfotografie, z. B. Bildentstörung.
Entfernung von Bildrauschen Non-local Meansノイズ除去と呼ばれる画像からノイズを除去する良好な手法を見ていただきます。
Bildreparatur たくさんの黒点とひっかきを生じた古い劣化した写真を持っていませんか?それを持ってきて、画像修復と呼ばれる方法でそれらを復元してみましょう。
** Objekterkennung **
Gesichtserkennung mit dem Haar-Kaskadendetektor Haar カスケード検出器を用いた顔検出
** OpenCV-Python-Bindung **
Lassen Sie uns nun lernen, wie OpenCV-Python-Bindungen hergestellt werden.
Wie funktioniert die OpenCV-Python-Bindung? OpenCV-Pythonバインディングがどのように作られているのか学びましょう。
Hinweis 1: In Visual Studio muss dieselbe Version von Visual Studio verwendet werden, die Sie verwenden, und es ist sehr problematisch, dieselbe Version von Visual Studio zu haben, mit der alle von Ihnen verwendeten Bibliotheken erstellt werden. Hinweis 2: Im Fall von cv2.imread (Name) lautet die Reihenfolge BGR, daher muss cv2.cvtColor (img, cv2.COLOR_BGR2RGB) verwendet werden. Hinweis 3: Die Implementierung von OpenCV-Python-Bindungen in cv2 wird im OpenCV-Python-Lernprogramm beschrieben. Auf diese Weise können fortgeschrittenes Python und C ++ Funktionen implementieren, für die keine Bindungen implementiert wurden. Und wie schön es ist, es der OpenCV-Community zu spenden.