OpenCV(Intel Open Source Computer Vision Library)とは、インテル社で開発された画像処理・画像認識用のオープンソースライブラリです。Python/C++/Java/Android/Node.jsなどで使用できます。
本ページでは、Python版OpenCVで画像処理プログラミングを行う方法を入門者向けにソースコード付きでまとめました。
【入門編】画像の基本操作、濃度変換、空間・周波数フィルタリング、二値画像処理
Python版OpenCVで画像の基本操作、濃度変換、空間・周波数フィルタリング、二値画像処理を行う方法を解説しています。
また、本ページの内容はYoutubeでも解説しています。
Youtube版 Python版OpenCV超入門
記事URL |
概要 |
インストール方法 |
Python版OpenCVのインストール方法を解説します。 |
NumPy配列の扱い方 |
Python版OpenCVでは読み込んだ画像データはNumPy配列(ndarray)に格納されます。そのため、ある程度NumPy配列の操作方法を知っておく必要があります。(全然難しくありません) |
画像データの基本操作 |
画像ファイルを読み込んだり、書き出したり、高さや幅などの情報を取得したり、色空間をカラーからグレースケールに変更したり部分処理を行う方法を解説します。 |
濃度変換 |
画像の濃度(明るさ)を変換したりヒストグラムで濃度をグラフ化して分析します。 |
空間フィルタリング |
空間フィルタリング(平均値フィルタ、メディアンフィルタ、ガウシアンフィルタ、ソーベルフィルタ、ラプラシアンフィルタ、Cannyアルゴリズムなど)で平滑化・輪郭検出する方法を解説します。 |
処理の高速化 |
積分画像、DoG、DoMなどで空間フィルタリング処理を高速化します。 |
フーリエ変換 |
画像をフーリエ変換し、スペクトル解析したり、ハイパス・ローパスフィルタをかける方法を解説します。 |
二値化 |
単純二値化処理、適応的二値化、大津の二値化の違いと実装方法について解説します。 |
膨張収縮 |
二値画像を膨張収縮処理し、ノイズを除去する方法を解説します。 |
ブロブ解析 |
二値画像をラベリングし、各ブロブの重心や面積などを解析します。 |
拡大・縮小 |
最近傍法、バイリニア法、バイキュービック法で画像を拡大・縮小する方法を解説します。 |
アフィン変換 |
アフィン変換により画像を回転させます。 |
【パターン認識】類似度評価・識別器・分類器・機械学習



記事URL |
概要 |
テンプレートマッチング |
テンプレートマッチング(Template matching)とは、入力画像中からテンプレート画像(部分画像)と最も類似する箇所を探索する処理です。これをPython版OpenCVで実装する方法を解説します。 |
Cascadeで物体検出 |
Cascade型識別機は複数の強識別器を連結したものです。これを用いて高速に顔やアニメ顔などを検出する方法を解説します。 |
SVMで画像分類① |
サポートベクタマシン(SVM)で画像分類を行います。今回は簡単に手書き数字画像を分類します。 |
SVMで画像分類② |
サポートベクタマシン(SVM)とHoG特徴量で画像分類を行います。 |
ニューラルネット |
Python版OpenCVでニューラルネットワークを構築します。 |
DNN |
Python版OpenCVでDNNを構築します。 |
QRコード処理 |
Python版OpenCVでQRコードを処理します。 |
SIFT、SURF、ORB |
– |
位相限定相関法 |
– |
深層学習で画像分類(Keras編) |
Kerasと組み合わせて画像分類を行います。 |
【動画像処理】動画の読み込み、移動物体の追跡
記事URL |
概要 |
動画の読み書き |
Python版OpenCVで動画ファイルの読み書きを行います。 |
背景・フレーム間差分 |
背景・フレーム間差分法は、移動物体の検出方法の1つです。これをPython版OpenCVで実装します。 |
色追跡 |
Python版OpenCVでカラートラッキング(色追跡)を実装し、物体を追跡します。 |
オプティカルフロー |
Python版OpenCVで物体の移動ベクトル(オプティカルフロー)を計算し、追跡します。 |
パーティクルフィルタ |
パーティクルフィルタ(Particle filter)は確率分布による時系列データの予測手法です。これをPython版OpenCVで実装し物体追跡に利用します。 |
【応用】漫画、アニメ絵化、参考文献
コメント