Must-see "OpenCV-Python Tutorials" 2

The content of this article is only a partial translation of OpenCV-Python Tutorials. The following sites within Tottori University have all the translations, so we recommend that you refer to them.

Site in Tottori University OpenCV-Python Tutorial

OpenCV 3.1 OpenCV-Python Tutorials http://docs.opencv.org/3.1.0/d6/d00/tutorial_py_root.html#gsc.tab=0 Published in (I noticed 2016.2.28).

Therefore, the following content (translation of the tutorial of OpenCV3.0) is out of date. Correspondence between the actual Python binding and the script introduced in the tutorial This is an improvement over the tutorial for OpenCV 3.0. Please read the following sentences with that in mind.


I translated a little more about "OpenCV-Python Tutorials".

The fragment of the script that I followed the link seems to be on Github below. rajatsaxena/OpenCV (https://github.com/rajatsaxena/OpenCV) From there, you can find and run scripts and data.


** Introduction to OpenCV **

Introduction to OpenCV-Python Tutorial

Intro_1 OpenCV-Pythonを始めてみよう

Install OpenCV-Python on Windows Install_1 OpenCVをwindowsで使えるようにする。

Install OpenCV-Python on Fedora

Install_2 OpenCVをFedoraで使えるようにする。


** GUI features in OpenCV **

Let's start image manipulation gui_1画像を読み込むこと、表示すること、保存することを学びます。

Let's start video operation gui_2 動画の再生、カメラからの動画のキャプチャと動画としての保存を学びましょう。

OpenCV drawing functions gui_5 直線、矩形、楕円、円などをOpenCVを使って描画することを学びます。

Use the mouse as a paintbrush gui_3 マウスを使って塗りつぶし

Use Trackbar as a color palette gui_4 パラメータを制御するためのtrackbarを作る


** Core operation **

Basic operations on images

core_1 You will learn how to read and edit pixel values, operate images in the ROI (region of interest), and other basic operations.

Arithmetic operations on images

core_2 Performs arithmetic operations on the image.

[Execution performance measurement and improvement method] (http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_core/py_optimization/py_optimization.html#optimization-techniques)

core_4 答を得ることは大切だ。しかし、最速に答を得ることはさらに大切だ。あなたのコードのスピードをチェックし、コードを最適化することなどを学びます。

Mathematical methods in OpenCV core_5 PCA(Principalcomponentsanalysis 主成分分析)、SVD(singularvaluedecomposition 特異値分解)などのOpenCVで提供されている数学的手法のいくつかを学びます。


** Image processing with OpenCV **

Change color space imgproc_1 異なる色空間で画像を変換する方法を学びましょう。そして動画で色つきの物体を追跡させてみましょう。

Geometric transformation of images imgproc_gt 回転、変形などのさまざまな幾何変換を施してみましょう。

Image threshold processing imgproc_2 画像をグローバルしきい値、適応的閾値処理 、大津の2値化などで2値化画像に変換してみましょう。

Image Smoothing imgproc_4 Learn to blur images and filter to images with a custom kernel.

Morphological conversion

imgproc_12 収縮、膨張、Opening, Closingなどのモルフォロジー変換について学びます。

Image Gradient imgproc_5 Find image gradients, edges, and more.

Canny Edge Detection

imgproc_8 Cannyエッジ検出を使ってエッジを見つけてみましょう。

Image Pyramid imgproc_14 画像ピラミッドとそれを画像混合に使う方法を学びます。

** Outline processing with OpenCV **

imgproc_3 OpenCVにある輪郭処理の全て。

** Contour processing with OpenCV **

Outline: Let's get started

contour_1 輪郭を見つけ描こう

Outline features

contour_2 様々な輪郭の特徴、面積、周囲長、外接矩形(包含矩形)などを見つけることについて学びましょう

Contour Properties contour_3 様々の輪郭の特性、堅実性、平均強度などを見つけることを学びましょう。

Outline: Other Functions

contour_4 Learn to find convexity defects, point Polygon Tests, and match with different shapes.

Contour Hierarchy (http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_contours/py_contours_hierarchy/py_contours_hierarchy.html#contours-hierarchy)

contour_5 Learn about the hierarchy of contours.

** Histogram in OpenCV **

imgproc_6 All of the histograms in OpenCV.

OpenCV Histogram in OpenCV

Histograms-1: Find, plot and analyze! !! !!

hist_1 ヒストグラムを見つけ、描画しよう。

Histograms-2: Histogram flattening

hist_2 よいコントラストの画像を得るためにヒストグラムを平坦化することを学びましょう。

Histograms --3: 2D Histogram

hist_3 2次元のヒストグラムを見つけ、プロットすることを学びましょう。

Histogram-4: Histogram Backprojection

hist_4 領域ごとに色づけされた物体にヒストグラム逆投影することを学びます。

Image conversion with OpenCV imgproc_7 フーリエ変換、コサイン変換などOpenCVにある様々な画像変換に出会ってみましょう。

Template Matching imgproc_9 テンプレートマッチングを用いて画像中から物体を探してみましょう。

Hough Transform imgproc_10 画像の中から線を検出してみましょう。

Hough Transform imgproc_11 画像の中から円を検出してみましょう。

Image area division based on the Watershed algorithm

imgproc_13 Watershed(分水嶺)アルゴリズムで画像の領域分割をしてみましょう。

Interactive foreground extraction using GrabCut algorithm

imgproc_15 GrabCutアルゴリズムでの前景抽出をしてみましょう。


** Feature detection and feature description **

Understanding features

f2d_1 その画像の主な特徴はなんだろうか? 見つけられたこれらの特徴はどのように役に立つのか?

Harris Corner Detection f2d_2 ええ、コーナーはよい特徴? でもどうやって見つけますか?

Shi-Tomasi Corner Detector and Good Features to Track f2d_3 Let's take a look at the details of Shi-Tomasi corner detection.

Introduction to SIFT (Scale-Invariant Feature Transform) Features

f2d_4 Harrisコーナー検出器は、画像の縮尺が変わるときには、十分良いとは言い切れません。 Loweは、縮尺に影響しない特徴を見つけるブレークスルーとなる手法を開発しました。それはSIFT特徴量と呼ばれています。

Introduction to SURF (Speeded-Up Robust Features) Features

f2d_5  SIFT特徴量は確かにいい特徴です。しかし、十分速いとは言えません。そこでSURF特徴量と呼ばれる高速化版が作られました。

FAST algorithm for corner detection f2d_06 上に示した特徴検出器は全てよいものです。しかし、SLAM(訳注:SimultaneousLocalizationandMapping、自己位置推定と環境地図作成を同時に行うこと)のようなリアルタイムの用途に使えるほど十分に速いとは言えません。そこでFASTアルゴリズムの登場です。これは本当に"FAST(速い)"です。

BRIEF Features (Binary Robust Independent Elementary Features) f2d_07 SIFT特徴量は、128個の浮動小数点からなる特徴記述子を用いています。そのような特徴量を数千個あつかうことを考えてごらんなさい。そのときたくさんのメモリーとマッチングのためにたくさんの時間を使 is. You can compress the features to make them faster, but you still have to calculate the features first. That's where BRIEF comes in, offering a shortcut to finding binary descriptors with less memory, faster matching, and higher recognition.

ORB (Oriented FAST and Rotated BRIEF) features f2d_08 SIFT特徴量とSURF特徴量はとてもよく動くのだけれども、あなたの用途の中で使うには毎年数ドル払わなければならないとしたらどうしますか? それらは特許が成立しているのです。その問題を解決するには、OpenCVの開発者はSIFT特徴量とSURF特徴量への新しい"FREE"な代替品、ORBを思いつきました。

Feature matching f2d_09 特徴検出器と記述子についてたくさん理解しました。異なる記述子を対応付ける方法を学ぶときです。OpenCVはそのために2つの手法、Brute-Forceマッチング手法とFLANNに基づくマッチング手法です。

Feature matching and homography for finding objects f2d_10 いま特徴量マッチングについて知っているので、複雑な画像中の物体を見つけるためにcalib3dモジュールとともに混ぜ合わせてみましょう。


** Video analysis **

Meanshift and Camshift Tracking (http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_video/py_meanshift/py_meanshift.html#meanshift)

vdo_1 私たちは既に、色に基づく追跡の例を見ました。それは単純なものです。ここでは、もっとよいアルゴリズムである平均値シフトとその改良版であるCamShiftが対象をどう見つけ追跡するのか見てみましょう。

[Optical flow] (http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_video/py_lucas_kanade/py_lucas_kanade.html#lucas-kanade)

vdo_2 重要な概念、オプティカルフローについて学びましょう。それは動画に関連していて、たくさんの用途があります。

Background Removal

vdo_b いくつかのアプリケーションでは、物体追跡のように前景を抜き出す必要があります。背景除去は、それらの場合に役立つよく知られた手法です。


** Camera calibration and 3D reconstruction **

Camera calibration calib_1 利用しているカメラがどれだけ良いものか試してみましょう。それで撮影した画像に歪みが見られるでしょうか?もしあれば、どう補正しましょうか?

Posture estimation calib_2 calibモジュールを用いてちょっとしたかっこいい3D効果を作るのに役立つ短いセッションです。

Epipolar Geometry calib_3 エピポーラ幾何とエピポーラ制約を理解しましょう。

Depth distance information from stereo image calib_4 2D画像群から奥行き情報を得ます。


** Machine learning **

K-nearest neighbor method ML_KNN K最近傍法の使い方を学ぶとともに、K最近傍法を用いて手書きの数字認識について学びます。

Support Vector Machine (SVM) ML_SVM SVMの考え方を理解します

K-means clustering

ML_KM データをK平均法を用いて一群のクラスターに分類することを学びます。そして、K平均法を用いて色の量子化をすることを学びます。


Computational Photography Here you will learn about the various features of OpenCV related to Computational Photography, such as image denoising.

Image Noise Removal photo_1 Non-local Meansノイズ除去と呼ばれる画像からノイズを除去する良好な手法を見ていただきます。

Image Repair photo_2 たくさんの黒点とひっかきを生じた古い劣化した写真を持っていませんか?それを持ってきて、画像修復と呼ばれる方法でそれらを復元してみましょう。


** Object detection **

Face detection using Haar cascade detector objdet_1 Haar カスケード検出器を用いた顔検出


** OpenCV-Python binding **

Now let's learn how OpenCV-Python bindings are made.

How does the OpenCV-Python binding work? bind1 OpenCV-Pythonバインディングがどのように作られているのか学びましょう。

Recommended Posts

Must-see "OpenCV-Python Tutorials" 2
Must-see "OpenCV-Python Tutorials"
OpenCV-Python & Scikit-image-Addition to "Must-see" OpenCV-Python Tutorials "2"
"OpenCV-Python Tutorials" and mahotas
"OpenCV-Python Tutorials" and "Practical Machine Learning System"
A supplement to "Camera Calibration" in OpenCV-Python Tutorials