En ce qui concerne la traduction des "Tutoriels OpenCV-Python", cette fois je l'ai comparée avec des mahotas.
Il existe plusieurs bibliothèques qui utilisent Python pour la reconnaissance d'images, mais il existe également une bibliothèque appelée mahotas. Cela utilise également le format de données numpy. Pour les bibliothèques qui effectuent la reconnaissance d'image avec Python,
il y a. mahotas est développé en C ++, se concentrant sur le fait d'être une bibliothèque pour Python.
mahotas Why did you not simply contribute to scipy.ndimage or scikits.image? Cela explique pourquoi mahotas existe en tant que bibliothèque différente de scipy et scicit-image.
Vous pouvez obtenir les dernières informations sur toutes les fonctions implémentées dans les mahotas en lançant [Python (x, y)] [Documentation] [Python documentation server] et en accédant aux mahotas à partir des packages de site.
http://mahotas.readthedocs.org/en/latest/index.html
** Introduction à OpenCV **
Commençons avec OpenCV-Python
Installer OpenCV-Python sur Windows Rendre OpenCV disponible pour Windows.
Rendre OpenCV disponible dans Fedora.
Si vous utilisez Python (x, y) sous Windows, commencez par >>> import mahotas S'il vous plaît essayez. S'il n'y a aucune erreur, vous avez déjà confirmé que mahotas est installé en tant que plug-in Python (x, y) standard. Si vous obtenez une erreur, vous pouvez obtenir un module python compilé [site de Christoph Gohlke] Il est recommandé d'installer à partir de (http://www.lfd.uci.edu/~gohlke/pythonlibs/). Je ne recommande pas la compilation à partir du code source dans Visual Studio (Note 1) Comment installer Mahotas est indiqué sur le site Mahotas comme suit:
mahotas How To Install Mahotas
** Fonctionnalités GUI dans OpenCV **
Commençons la manipulation d'image 画像を読み込むこと、表示すること、保存することを学びます。
Commençons l'opération vidéo 動画の再生、カメラからの動画のキャプチャと動画としての保存を学びましょう。
Fonctions de dessin OpenCV 直線、矩形、楕円、円などをOpenCVを使って描画することを学びます。
Utilisez la souris comme un pinceau マウスを使って塗りつぶし
Utiliser la Trackbar comme palette de couleurs パラメータを制御するためのtrackbarを作る
** Fonctionnement principal **
Opération de base sur les images
Apprenez à lire et à modifier les valeurs de pixel, à utiliser les images dans le ROI (région d'intérêt) et à d'autres opérations de base.
"Système d'apprentissage automatique pratique" Chapitre 10 Reconnaissance des modèles de vision par ordinateur L'importation d'images à l'aide de mahotas est introduite. Encore une fois, le format des données après lecture est numpy.array. Le nom de la fonction est également imread (). Puisque mahotas.imread (nom) est lu dans l'ordre RVB, il est compatible lors de l'affichage avec imshow () de matplotlib. (Note 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()
Effectue des opérations arithmétiques sur l'image.
[Méthode de mesure et d'amélioration des performances d'exécution] (http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_core/py_optimization/py_optimization.html#optimization-techniques)
Il est important d'obtenir la réponse. Mais obtenir la réponse le plus rapidement est encore plus important. Vérifiez la vitesse de votre code, apprenez à optimiser votre code et plus encore.
Méthodes mathématiques dans OpenCV PCA(Principalcomponentsanalysis 主成分分析)、SVD(singularvaluedecomposition 特異値分解)などのOpenCVで提供されている数学的手法のいくつかを学びます。
** Traitement d'image avec OpenCV **
Modifier l'espace colorimétrique 異なる色空間で画像を変換する方法を学びましょう。そして動画で色つきの物体を追跡させてみましょう。
mahotas Color Space Conversions
Existe-t-il une conversion en sépia caractéristique de la conversion d'espace colorimétrique mahotas? La conversion de l'espace colorimétrique d'OpenCV étant conséquente, il vaut mieux l'utiliser en complément.
lenas = mh.colors.rgb2sepia(lena)
Transformation géométrique de l'image 回転、変形などのさまざまな幾何変換を施してみましょう。
Traitement du seuil d'image 画像をグローバルしきい値、適応的閾値処理 、大津の2値化などで2値化画像に変換してみましょう。
mahotas inclut également la binarisation d'Otsu. Une autre méthode de binarisation méthode Riddler-Calvard est également implémentée.
Lissage d'image 画像をぼかしたり、あつらえたカーネルを用いた画像にフィルタすることを学びます。
Mols tels que contraction, expansion, ouverture, fermeture, etc. En savoir plus sur la transformation phologique.
L'expansion et la contraction sont également incluses dans OpenCV, mais l'expansion et la contraction conditionnelles ne sont pas incluses dans OpenCV et les mahotas Il est inclus dans, et il semble qu'il vaut la peine de bien l'utiliser.
mahotas Dilation & Erosion
mahotas Conditional morphological erosion.
mahotas Conditional dilation
Trouvez des dégradés d'image, des bords, etc. Faisons le.
Trouvons le bord en utilisant la détection de bord Canny.
mahotas détection des contours Sobel
mahotas a une différence de gaussien. Compute edges using the Difference of Gaussian (DoG) operator. Cette opération différentielle est incluse dans la procédure de calcul des caractéristiques SIFT. OpenCV n'a pas de différence directe de Gauss. Un exemple de son implémentation avec stackoverflowを見つけて利用してみることができます。
Pyramide d'images 画像ピラミッドとそれを画像混合に使う方法を学びます。
** Contouring avec OpenCV **
Trouvez le contour et dessinez
Découvrez comment trouver diverses caractéristiques de contour, zones, périmètres, rectangles circonscrits, etc.
OpenCV est sans doute la bibliothèque la plus complète pour le traitement d'images et la reconnaissance d'images, mais la liaison en Python ne signifie pas nécessairement que vous pouvez utiliser toutes ses fonctionnalités. L'étiquetage, par exemple, est l'une de ces caractéristiques. Les bibliothèques telles que les mahotas peuvent compenser les fonctionnalités manquantes dans le framework OpenCV-Python actuel (cv2) (Note 3).
Propriétés de contour Apprenez à trouver différentes caractéristiques de contour, solidité, résistance moyenne et plus encore.
Apprenez à trouver des défauts de convexité, à pointer des tests de polygone et à faire correspondre différentes formes.
mahotas Coque convexe coque convexe
Découvrez la hiérarchie des contours.
Histogramme dans OpenCV OpenCVにあるヒストグラムの全て。
Histogramme OpenCV OpenCV
Histogrammes-1: Trouvez, tracez et analysez! !! !!
Trouvez l'histogramme et dessinez-le.
Apprenez à aplatir l'histogramme pour obtenir une image de bon contraste.
Apprenez à trouver et à tracer un histogramme à deux dimensions.
Apprenez à projeter en arrière un histogramme sur un objet de couleur régionale.
Conversion d'image avec OpenCV フーリエ変換、コサイン変換などOpenCVにある様々な画像変換に出会ってみましょう。
Correspondance des modèles テンプレートマッチングを用いて画像中から物体を探してみましょう。
mahotas Match template to image
Conversion de ligne de Huff 画像の中から線を検出してみましょう。
Conversion de Huff Yen 画像の中から円を検出してみましょう。
Division de la zone des images basée sur l'algorithme Watershed Divisons la zone d'image en utilisant l'algorithme Watershed.
mahotas [Seeded watershed in n-dimensions] (http://mahotas.readthedocs.org/en/latest/api.html?highlight=watershed#mahotas.cwatershed)
Extraction interactive de premier plan à l'aide de l'algorithme GrabCut
Extrayons le premier plan avec l'algorithme GrabCut.
** Détection et description des fonctionnalités **
Quelles sont les principales caractéristiques de l'image? Dans quelle mesure ces fonctionnalités sont-elles utiles?
Détection de coin Harris ええ、コーナーはよい特徴? でもどうやって見つけますか?
[Détecteur de coin Shi-Tomasi et bonnes fonctionnalités à suivre](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_shi_tomasi/py_shi_tomasi.html#shi- tomasi) Jetons un coup d'œil aux détails de la détection de coin Shi-Tomasi.
Introduction à la fonctionnalité SIFT (Transformation de fonctionnalité à variation d'échelle)
Le détecteur de coin Harris n'est pas assez bon lorsque l'échelle de l'image change. Lowe a développé une méthode révolutionnaire pour trouver des fonctionnalités qui n'affectent pas l'échelle. Il s'agit de la quantité de caractéristiques SIFT.
Présentation des fonctionnalités de SURF (fonctionnalités robustes accélérées)
Les fonctionnalités SIFT sont certainement de bonnes fonctionnalités. Mais ce n'est pas assez rapide. Par conséquent, une version haute vitesse appelée quantité de fonctionnalités SURF a été créée.
mahotas a aussi SURF. Speeded-Up Robust Features
Algorithme FAST pour la détection des coins 上に示した特徴検出器は全てよいものです。しかし、SLAM(訳注:SimultaneousLocalizationandMapping、自己位置推定と環境地図作成を同時に行うこと)のようなリアルタイムの用途に使えるほど十分に速いとは言えません。そこでFASTアルゴリズムの登場です。これは本当に"FAST(速い)"です。
BREF Fonctionnalités élémentaires indépendantes SIFT特徴量は、128個の浮動小数点からなる特徴記述子を用いています。そのような特徴量を数千個あつかうことを考えてごらんなさい。そのときたくさんのメモリーとマッチングのためにたくさんの時間を使 est. Vous pouvez compresser les fonctionnalités pour les rendre plus rapides, mais vous devez tout d'abord calculer les fonctionnalités. C'est là que BRIEF entre en jeu, offrant un raccourci pour trouver des descripteurs binaires avec moins de mémoire, une correspondance plus rapide et une reconnaissance plus élevée.
Fonctionnalités ORB (Oriented FAST and Rotated BRIEF) SIFT特徴量とSURF特徴量はとてもよく動くのだけれども、あなたの用途の中で使うには毎年数ドル払わなければならないとしたらどうしますか? それらは特許が成立しているのです。その問題を解決するには、OpenCVの開発者はSIFT特徴量とSURF特徴量への新しい"FREE"な代替品、ORBを思いつきました。
Correspondance de quantité de fonctionnalités 特徴検出器と記述子についてたくさん理解しました。異なる記述子を対応付ける方法を学ぶときです。OpenCVはそのために2つの手法、Brute-Forceマッチング手法とFLANNに基づくマッチング手法です。
Correspondance des fonctionnalités et homographie pour la recherche d'objets いま特徴量マッチングについて知っているので、複雑な画像中の物体を見つけるためにcalib3dモジュールとともに混ぜ合わせてみましょう。
Mahotas contient des fonctionnalités Haralic qui permettent de distinguer les images lisses et à motifs.
Les fonctionnalités SURF sont également incluses dans les mahotas. "10.4 Description par caractéristiques locales"]
mahotas Local Binary Patterns
** Analyse vidéo **
Nous avons déjà vu un exemple de suivi basé sur la couleur. C'est simple. Voyons comment le meilleur algorithme, le décalage moyen et sa version améliorée, CamShift, trouvent et suivent des objets.
[Flux optique] (http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_video/py_lucas_kanade/py_lucas_kanade.html#lucas-kanade) Découvrons le concept important, le flux optique. Il est lié à la vidéo et a de nombreuses utilisations.
Dans certaines applications, il est nécessaire d'extraire le premier plan comme le suivi d'objet. La suppression de l'arrière-plan est une technique bien connue qui aide dans ces cas.
** Calibrage de la caméra et reconstruction 3D **
Calibration de la caméra 利用しているカメラがどれだけ良いものか試してみましょう。それで撮影した画像に歪みが見られるでしょうか?もしあれば、どう補正しましょうか?
Estimation d'attitude Une courte session pour vous aider à créer un petit effet 3D sympa avec le module calib.
Géométrie épipolaire エピポーラ幾何とエピポーラ制約を理解しましょう。
Informations sur la distance de profondeur de l'image stéréo 2D画像群から奥行き情報を得ます。
** Apprentissage automatique **
Méthode K-Nearest Neighbor K最近傍法の使い方を学ぶとともに、K最近傍法を用いて手書きの数字認識について学びます。
Support Vector Machine (SVM) SVMの考え方を理解します
Méthode moyenne de K Un groupe de données utilisant la méthode de moyenne K Apprenez à catégoriser en clusters. Ensuite, vous apprendrez à quantifier les couleurs en utilisant la méthode de moyenne K.
###Computational Photography Ici, vous découvrirez les différentes fonctionnalités d'OpenCV liées à la photographie computationnelle, telles que le bruit d'image.
Suppression du bruit d'image Non-local Meansノイズ除去と呼ばれる画像からノイズを除去する良好な手法を見ていただきます。
Réparation d'image たくさんの黒点とひっかきを生じた古い劣化した写真を持っていませんか?それを持ってきて、画像修復と呼ばれる方法でそれらを復元してみましょう。
** Détection d'objets **
Détection de visage à l'aide du détecteur de cascade Haar Haar カスケード検出器を用いた顔検出
** Liaison OpenCV-Python **
Voyons maintenant comment sont créées les liaisons OpenCV-Python.
Comment fonctionne la liaison OpenCV-Python? OpenCV-Pythonバインディングがどのように作られているのか学びましょう。
Remarque 1: dans Visual Studio, il est nécessaire d'avoir la même version de Visual Studio que vous utilisez, et il est très gênant d'avoir la même version de Visual Studio qui génère toutes les bibliothèques que vous utilisez. Note 2: Dans le cas de cv2.imread (nom), la commande est BGR, il est donc nécessaire d'utiliser cv2.cvtColor (img, cv2.COLOR_BGR2RGB). Remarque 3: La mise en œuvre des liaisons OpenCV Python dans cv2 est décrite dans le didacticiel OpenCV-Python. De cette manière, Python et C ++ avancés pourront implémenter des fonctions pour lesquelles les liaisons n'ont pas été implémentées. Et comme il est merveilleux d'en faire don à la communauté OpenCV.