「OpenCV-Python Tutorials」と「実践　機械学習システム」

「OpenCV-Python Tutorials」についての訳に関連して、他の書籍と比較を行いました。



***
>###**OpenCV入門**

>[OpenCV-Pythonチュートリアル入門](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_setup/py_intro/py_intro.html#intro)

>![Intro_1](http://docs.opencv.org/3.0-beta/_images/opencv_logo.jpg)	OpenCV-Pythonを始めてみよう

>[OpenCV-PythonをWindowsにインストールする](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_setup/py_setup_in_windows/py_setup_in_windows.html#install-opencv-python-in-windows)
>![Install_1](http://docs.opencv.org/3.0-beta/_images/windows_logo.jpg)	OpenCVをwindowsで使えるようにする。

>[OpenCV-PythonをFedoraにインストールする](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_setup/py_setup_in_fedora/py_setup_in_fedora.html#install-opencv-python-in-fedora)

>![Install_2](http://docs.opencv.org/3.0-beta/_images/fedora_logo.jpg)	OpenCVをFedoraで使えるようにする。




***

>###**OpenCVでのGUIの特色**
>[画像操作を始めてみよう](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_image_display/py_image_display.html#py-display-image)
![gui_1](http://docs.opencv.org/3.0-beta/_images/image_display.jpg)画像を読み込むこと、表示すること、保存することを学びます。


>[動画操作を始めてみよう](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_video_display/py_video_display.html#display-video)
![gui_2](http://docs.opencv.org/3.0-beta/_images/video_display.jpg) 動画の再生、カメラからの動画のキャプチャと動画としての保存を学びましょう。


>[OpenCVの描画関数](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_drawing_functions/py_drawing_functions.html#drawing-functions)
![gui_5](http://docs.opencv.org/3.0-beta/_images/drawing1.jpg)	直線、矩形、楕円、円などをOpenCVを使って描画することを学びます。

>[マウスをペイントブラシとして使う](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_mouse_handling/py_mouse_handling.html#mouse-handling)
![gui_3](http://docs.opencv.org/3.0-beta/_images/mouse_drawing.jpg)	マウスを使って塗りつぶし

>[Trackbarをカラーパレットとして使う](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_trackbar/py_trackbar.html#trackbar)
![gui_4](http://docs.opencv.org/3.0-beta/_images/trackbar.jpg)	パラメータを制御するためのtrackbarを作る

***
>###**コア操作**
[画像への基本操作](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_core/py_basic_ops/py_basic_ops.html#basic-ops) 

>![core_1](http://docs.opencv.org/3.0-beta/_images/pixel_ops.jpg)	
画素値を読み取り・編集、画像のROI(region of interest 関心領域)での操作、その他の基本操作を学びます。


「実践　機械学習システム」１０章　コンピュータビジョン・パターン認識
mahotas を使った画像の読み込みが紹介されている。
　ここでも読み込んだ後のデータ形式はnumpy.arrayになっている。
　また関数名もimread()になっている。


>[画像への算術演算](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_core/py_image_arithmetics/py_image_arithmetics.html#image-arithmetics)

>![core_2](http://docs.opencv.org/3.0-beta/_images/image_arithmetic.jpg)	
画像に算術演算を施します。

>[実行性能測定と改良手法]
(http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_core/py_optimization/py_optimization.html#optimization-techniques)

>![core_4](http://docs.opencv.org/3.0-beta/_images/speed.jpg)	答を得ることは大切だ。しかし、最速に答を得ることはさらに大切だ。あなたのコードのスピードをチェックし、コードを最適化することなどを学びます。

>[OpenCVにある数学的手法](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_core/py_maths_tools/py_maths_tools.html#mathematical-tools)
![core_5](http://docs.opencv.org/3.0-beta/_images/maths_tools.jpg)	PCA(Principal components analysis　主成分分析)、SVD(singular value decomposition　特異値分解)などのOpenCVで提供されている数学的手法のいくつかを学びます。



***


>###**OpenCVでの画像処理**

>[色空間を変更する](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_colorspaces/py_colorspaces.html#converting-colorspaces)
![imgproc_1](http://docs.opencv.org/3.0-beta/_images/colorspace.jpg)	異なる色空間で画像を変換する方法を学びましょう。そして動画で色つきの物体を追跡させてみましょう。


>[画像の幾何変換](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_geometric_transformations/py_geometric_transformations.html#geometric-transformations)
![imgproc_gt](http://docs.opencv.org/3.0-beta/_images/geometric.jpg)　回転、変形などのさまざまな幾何変換を施してみましょう。


>[画像の閾値処理](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_thresholding/py_thresholding.html#thresholding)
![imgproc_2](http://docs.opencv.org/3.0-beta/_images/thresh.jpg)　画像をグローバルしきい値、適応的閾値処理 、大津の２値化などで2値化画像に変換してみましょう。

mahotasにも大津の2値化が含まれています。他の2値化手法 Ridler-Calvard手法も実装されています。

>[画像の平滑化](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_filtering/py_filtering.html#filtering)
![blurring.png](https://qiita-image-store.s3.amazonaws.com/0/83761/9c1b6cee-7281-148c-5f54-2bf2914f793c.png)　画像をぼかしたり、あつらえたカーネルを用いた画像にフィルタすることを学びます。


>[モルフォロジー変換](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_morphological_ops/py_morphological_ops.html#morphological-ops)

>![imgproc_12](http://docs.opencv.org/3.0-beta/_images/morphology.jpg)　収縮、膨張、Opening, Closingなどのモル
フォロジー変換について学びます。


>[画像の勾配](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_gradients/py_gradients.html#gradients)

>![gradient.png](https://qiita-image-store.s3.amazonaws.com/0/83761/24cb2b3d-05a1-6eff-e67a-5d6e36eb537e.png) 画像勾配、エッジなどを見つけてみましょう。

>[Cannyエッジ検出](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_canny/py_canny.html#canny)

>![imgproc_8](http://docs.opencv.org/3.0-beta/_images/canny.jpg)　Cannyエッジ検出を使ってエッジを見つけてみましょう。

>[画像ピラミッド](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_pyramids/py_pyramids.html#py-pyramids)
![imgproc_14](http://docs.opencv.org/3.0-beta/_images/pyramid.png)　画像ピラミッドとそれを画像混合に使う方法を学びます。


>####**OpenCVでの輪郭処理**

>[輪郭：さあ　始めよう](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_contours/py_contours_begin/py_contours_begin.html#contours-getting-started)

>![contour_1](http://docs.opencv.org/3.0-beta/_images/contour_starting.jpg)
	輪郭を見つけ描こう

>[輪郭の特徴](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_contours/py_contour_features/py_contour_features.html#contour-features)

>![contour_2](http://docs.opencv.org/3.0-beta/_images/contour_features.jpg)	様々な輪郭の特徴、面積、周囲長、外接矩形（包含矩形）などを見つけることについて学びましょう

>[輪郭の特性](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_contours/py_contour_properties/py_contour_properties.html#contour-properties)
>![contour_3](http://docs.opencv.org/3.0-beta/_images/contour_properties.jpg)	様々の輪郭の特性、堅実性、平均強度などを見つけることを学びましょう。

>[輪郭：その他の関数](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_contours/py_contours_more_functions/py_contours_more_functions.html#contours-more-functions)

>![contour_4](http://docs.opencv.org/3.0-beta/_images/contour_defects.jpg)	
輪郭の凹状欠損(convexity defects)、点と輪郭の関係(pointPolygonTest)を見つけること、様々な形とマッチングさせることを学びましょう。

>[輪郭の階層](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](https://qiita-image-store.s3.amazonaws.com/0/83761/b90b85f0-a046-c666-a427-f9543ed9f836.png)
輪郭の階層について学びましょう。

>[OpenCVでのヒストグラム](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_histograms/py_table_of_contents_histograms/py_table_of_contents_histograms.html#table-of-content-histograms)
![histogram.png](https://qiita-image-store.s3.amazonaws.com/0/83761/a7d76636-fa36-3ea5-93ab-8afecb91d1ef.png)　OpenCVにあるヒストグラムの全て。

>####OpenCV OpenCVでのヒストグラム
[Histograms - 1 : 見つけ、プロットし、解析しよう！！！](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_histograms/py_histogram_begins/py_histogram_begins.html#histograms-getting-started)

>![hist_1](http://docs.opencv.org/3.0-beta/_images/histograms_1d.jpg)	ヒストグラムを見つけ、描画しよう。

>[Histograms - 2: ヒストグラムの平坦化](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_histograms/py_histogram_equalization/py_histogram_equalization.html#py-histogram-equalization)

>![hist_2](http://docs.opencv.org/3.0-beta/_images/histograms_equ.jpg)	よいコントラストの画像を得るためにヒストグラムを平坦化することを学びましょう。

>[Histograms - 3 : 2次元のヒストグラム](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_histograms/py_2d_histogram/py_2d_histogram.html#twod-histogram)

>![hist_3](http://docs.opencv.org/3.0-beta/_images/histograms_2d.jpg)	2次元のヒストグラムを見つけ、プロットすることを学びましょう。

>[Histogram - 4 : ヒストグラム逆投影](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_histograms/py_histogram_backprojection/py_histogram_backprojection.html#histogram-backprojection)

>![hist_4](http://docs.opencv.org/3.0-beta/_images/histograms_bp.jpg)	領域ごとに色づけされた物体にヒストグラム逆投影することを学びます。


>[OpenCVでの画像変換](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_transforms/py_table_of_contents_transforms/py_table_of_contents_transforms.html#table-of-content-transforms)
![imgproc_7](http://docs.opencv.org/3.0-beta/_images/transforms.jpg)　フーリエ変換、コサイン変換などOpenCVにある様々な画像変換に出会ってみましょう。




>[テンプレートマッチング](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_template_matching/py_template_matching.html#py-template-matching)
![imgproc_9](http://docs.opencv.org/3.0-beta/_images/template.jpg)　テンプレートマッチングを用いて画像中から物体を探してみましょう。

>[ハフ線変換](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_houghlines/py_houghlines.html#py-hough-lines)
![imgproc_10](http://docs.opencv.org/3.0-beta/_images/houghlines.jpg)　画像の中から線を検出してみましょう。


>[ハフ円変換](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_houghcircles/py_houghcircles.html#hough-circles)
![imgproc_11](http://docs.opencv.org/3.0-beta/_images/houghcircles.jpg)　画像の中から円を検出してみましょう。

>[Watershed(分水嶺)アルゴリズムにもとづく画像の領域分割](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_watershed/py_watershed.html#watershed)
>![imgproc_13](http://docs.opencv.org/3.0-beta/_images/watershed.jpg)　Watershed(分水嶺)アルゴリズムで画像の領域分割をしてみましょう。


>[GrabCutアルゴリズムを用いた対話的な前景抽出](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_grabcut/py_grabcut.html#grabcut)

>![imgproc_15](http://docs.opencv.org/3.0-beta/_images/grabcut1.jpg)　GrabCutアルゴリズムでの前景抽出をしてみましょう。


***

>###**特徴量検出と特徴量記述**

>[特徴量を理解する](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_features_meaning/py_features_meaning.html#features-meaning)

>![f2d_1](http://docs.opencv.org/3.0-beta/_images/features_icon.jpg)　その画像の主な特徴はなんだろうか？　見つけられたこれらの特徴はどのように役に立つのか？


>[Harrisコーナー検出](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_features_harris/py_features_harris.html#harris-corners)
![f2d_2](http://docs.opencv.org/3.0-beta/_images/harris_icon.jpg)　ええ、コーナーはよい特徴？　でもどうやって見つけますか？


>[Shi-Tomasiコーナー検出器と画像内の強いコーナー(Good Features to Track)](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_shi_tomasi/py_shi_tomasi.html#shi-tomasi)
![f2d_3](http://docs.opencv.org/3.0-beta/_images/shi_icon.jpg)
Shi-Tomasiコーナー検出の詳細を見てみましょう。

>[SIFT(Scale-Invariant Feature Transform)特徴量への入門](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_sift_intro/py_sift_intro.html#sift-intro)

>![f2d_4](http://docs.opencv.org/3.0-beta/_images/sift_icon.jpg)　Harrisコーナー検出器は、画像の縮尺が変わるときには、十分良いとは言い切れません。　Loweは、縮尺に影響しない特徴を見つけるブレークスルーとなる手法を開発しました。それはSIFT特徴量と呼ばれています。


>[SURF(Speeded-Up Robust Features)特徴量への入門](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_surf_intro/py_surf_intro.html#surf)

>![f2d_5](http://docs.opencv.org/3.0-beta/_images/surf_icon.jpg)　　SIFT特徴量は確かにいい特徴です。しかし、十分速いとは言えません。そこでSURF特徴量と呼ばれる高速化版が作られました。

>[コーナー検出のためのFASTアルゴリズム](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_fast/py_fast.html#fast)
![f2d_06](http://docs.opencv.org/3.0-beta/_images/fast_icon.jpg)　上に示した特徴検出器は全てよいものです。しかし、SLAM(訳注：Simultaneous Localization and Mapping、自己位置推定と環境地図作成を同時に行うこと)のようなリアルタイムの用途に使えるほど十分に速いとは言えません。そこでFASTアルゴリズムの登場です。これは本当に"FAST(速い)"です。


>[BRIEF特徴量(Binary Robust Independent Elementary Features)](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_brief/py_brief.html#brief)
![f2d_07](http://docs.opencv.org/3.0-beta/_images/brief.jpg)　SIFT特徴量は、128個の浮動小数点からなる特徴記述子を用いています。そのような特徴量を数千個あつかうことを考えてごらんなさい。そのときたくさんのメモリーとマッチングのためにたくさんの時間を使
います。特徴量を圧縮して速くすることもできますが、それでも、その特徴量をまず計算しなくてはなりません。そこで、BRIEFが登場で、少ないメモリーで、マッチングが速く、それていて高い認識率のバイナリ記述子を見つける近道を提供します。


>[ORB(Oriented FAST and Rotated BRIEF)特徴量](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_orb/py_orb.html#orb)
![f2d_08](http://docs.opencv.org/3.0-beta/_images/orb.jpg)　SIFT特徴量とSURF特徴量はとてもよく動くのだけれども、あなたの用途の中で使うには毎年数ドル払わなければならないとしたらどうしますか？　それらは特許が成立しているのです。その問題を解決するには、OpenCVの開発者はSIFT特徴量とSURF特徴量への新しい"FREE"な代替品、ORBを思いつきました。


>[特徴量マッチング](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_matcher/py_matcher.html#matcher)
![f2d_09](http://docs.opencv.org/3.0-beta/_images/matching.jpg)　特徴検出器と記述子についてたくさん理解しました。異なる記述子を対応付ける方法を学ぶときです。OpenCVはそのために２つの手法、Brute-Forceマッチング手法とFLANNに基づくマッチング手法です。



>[特徴量マッチングと物体を見つけるためのホモグラフィ](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_feature_homography/py_feature_homography.html#py-feature-homography)
![f2d_10](http://docs.opencv.org/3.0-beta/_images/homography_icon.jpg)　いま特徴量マッチングについて知っているので、複雑な画像中の物体を見つけるためにcalib3dモジュールとともに混ぜ合わせてみましょう。

なめらかな画像と模様のある画像とを区別できるHaralick特徴量がmahotasに含まれています。

SURF特徴量もmahotasに含まれています。

***

>###**動画解析**
[平均値シフト(Meanshift)とCamshift追跡](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_video/py_meanshift/py_meanshift.html#meanshift)

>![vdo_1](http://docs.opencv.org/3.0-beta/_images/camshift.jpg) 私たちは既に、色に基づく追跡の例を見ました。それは単純なものです。ここでは、もっとよいアルゴリズムである平均値シフトとその改良版であるCamShiftが対象をどう見つけ追跡するのか見てみましょう。


>[オプティカルフロー]
(http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_video/py_lucas_kanade/py_lucas_kanade.html#lucas-kanade) 
>![vdo_2](http://docs.opencv.org/3.0-beta/_images/opticalflow.jpeg)　重要な概念、オプティカルフローについて学びましょう。それは動画に関連していて、たくさんの用途があります。

>[背景除去](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_video/py_bg_subtraction/py_bg_subtraction.html#py-background-subtraction)

>![vdo_b](http://docs.opencv.org/3.0-beta/_images/background.jpg)　いくつかのアプリケーションでは、物体追跡のように前景を抜き出す必要があります。背景除去は、それらの場合に役立つよく知られた手法です。




***
>###**カメラ校正と3次元再構成**

>[カメラ校正](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_calib3d/py_calibration/py_calibration.html#calibration)
![calib_1](http://docs.opencv.org/3.0-beta/_images/calibration_icon.jpg)　利用しているカメラがどれだけ良いものか試してみましょう。それで撮影した画像に歪みが見られるでしょうか？もしあれば、どう補正しましょうか？


>[姿勢推定](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_calib3d/py_pose/py_pose.html#pose-estimation)
>![calib_2](http://docs.opencv.org/3.0-beta/_images/pose_icon.jpg) calibモジュールを用いてちょっとしたかっこいい3D効果を作るのに役立つ短いセッションです。


>[エピポーラ幾何](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_calib3d/py_epipolar_geometry/py_epipolar_geometry.html#epipolar-geometry)
![calib_3](http://docs.opencv.org/3.0-beta/_images/epipolar_icon.jpg) エピポーラ幾何とエピポーラ制約を理解しましょう。



>[ステレオ画像からの奥行き距離情報](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_calib3d/py_depthmap/py_depthmap.html#py-depthmap)
![calib_4](http://docs.opencv.org/3.0-beta/_images/depthmap_icon.jpg)	2D画像群から奥行き情報を得ます。


>###**機械学習**
>[K-最近傍法](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_ml/py_knn/py_knn_index.html#knn)
![ML_KNN](http://docs.opencv.org/3.0-beta/_images/knnicon.png)	K最近傍法の使い方を学ぶとともに、K最近傍法を用いて手書きの数字認識について学びます。


>[サポート　ベクター　マシン(SVM)](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_ml/py_svm/py_svm_index.html#svm)
![ML_SVM](http://docs.opencv.org/3.0-beta/_images/svmicon.png)	SVMの考え方を理解します



>[K平均法](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_ml/py_kmeans/py_kmeans_index.html#kmeans-clustering)
>![kmeansicon.png](https://qiita-image-store.s3.amazonaws.com/0/83761/369a8dad-ae89-1a49-eeb6-cc473e78366b.png) データをK平均法を用いて一群のクラスターに分類することを学びます。そして、K平均法を用いて色の量子化をすることを学びます。

OpenCVでの手書き数字認識
($OPENCV_DIR)\sources\samples\python2\digits.py
SVMとKNearestによる結果を見ることができます。

***
>###**Computational Photography**
ここでは、画像のノイズ除去などのComputational Photographyに関するOpenCVのさまざまな機能について学びます。

>[画像のノイズ除去](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_photo/py_non_local_means/py_non_local_means.html#non-local-means)
![photo_1](http://docs.opencv.org/3.0-beta/_images/nlm_icon1.jpg)	Non-local Meansノイズ除去と呼ばれる画像からノイズを除去する良好な手法を見ていただきます。


>[画像修復](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_photo/py_inpainting/py_inpainting.html#inpainting)
![photo_2](http://docs.opencv.org/3.0-beta/_images/inpainticon.jpg)　たくさんの黒点とひっかきを生じた古い劣化した写真を持っていませんか？それを持ってきて、画像修復と呼ばれる方法でそれらを復元してみましょう。


***
>###**物体検出**
>[Haar カスケード検出器を用いた顔検出](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_objdetect/py_face_detection/py_face_detection.html#face-detection)
![objdet_1](http://docs.opencv.org/3.0-beta/_images/face_icon.jpg)	Haar カスケード検出器を用いた顔検出




***
>###**OpenCV-Python バインディング**
ここで、OpenCV-Pythonバインディングがどのように作られているのかを学びます。

>[どのようにしてOpenCV-Pythonバインディングは動作しているのか？](http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_bindings/py_bindings_basics/py_bindings_basics.html#bindings-basics)
![bind1](http://docs.opencv.org/3.0-beta/_images/nlm_icon.jpg)	OpenCV-Pythonバインディングがどのように作られているのか学びましょう。


-----------------------------------------
追記：
[Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎 ](https://www.oreilly.co.jp/books/9784873117980/)
![](https://images-na.ssl-images-amazon.com/images/I/51GQH7tZNlL._SX389_BO1,204,203,200_.jpg)
が2017年05月 発行になっています。

「実践コンピュータビジョン」関連
[「実践コンピュータビジョン」の全演習問題をやってみた](https://qiita.com/moizumi99/items/ea9f90ead3ea48ed2666)