Gasyori100knock
Gasyori100knock copied to clipboard
image processing codes to understand algorithm

画像処理100本ノック!!
-
English https://github.com/KuKuXia/Image_Processing_100_Questions (by KuKuXia)
-
Chinese https://github.com/gzr2017/ImageProcessing100Wen (by gzr2017)
イモリと一緒に画像処理のアルゴリズムを理解するための100本ノックです。
-
【注意】このページを利用して、または関して生じた事に関しては、私は一切責任を負いません。すべて自己責任でお願い致します。
-
あくまで趣味ベースで作ったものなので、プルリクエストは受け付けてますが依頼などは一切受け付けません そこをご理解頂けた方のみご利用下さい
-
各アルゴリズムの精度は保証しません(これはあくまで中身理解のためのものです。ここのアルゴリズムに間違いがある場合もあります。)。
-
各アルゴリズム、ライブラリのライセンスはそれぞれのライセンスに従って下さい。
-
No Warranthy
問題
チュートリアル
画像は↓コードで読み込めます
from skimage import io
img = io.imread('https://yoyoyo-yo.github.io/Gasyori100knock/dataset/images/imori_256x256.png')
使える画像 >> dataset/images
![]() |
imori_128x128.png imori_256x256.png imori_512x512.png |
![]() |
madara_128x128.png madara_256x256.png madara_512x512.png |
![]() |
imori_256x256_noise.png | ![]() |
imori_256x256_dark.png |
![]() |
imori_256x256_light.png | ![]() |
imori_256x256_gamma.png |
問題1 - 10
番号 | 問題 | 番号 | 問題 | |
---|---|---|---|---|
1 | チャネル入れ替え | 6 | 減色処理 | |
2 | グレースケール化 | 7 | 平均プーリング | |
3 | 二値化 | 8 | Maxプーリング | |
4 | 大津の二値化 | 9 | ガウシアンフィルタ | |
5 | HSV変換 | 10 | メディアンフィルタ |
問題11 - 20
番号 | 問題 | 番号 | 問題 | |
---|---|---|---|---|
11 | 平滑化フィルタ | 16 | Sobelフィルタ | |
12 | モーションフィルタ | 17 | Laplacianフィルタ | |
13 | MAX-MINフィルタ | 18 | Embossフィルタ | |
14 | 微分フィルタ | 19 | LoGフィルタ | |
15 | Prewittフィルタ | 20 | ヒストグラム表示 |
問題21 - 30
番号 | 問題 | 番号 | 問題 | |
---|---|---|---|---|
21 | ヒストグラム正規化 | 26 | Bi-linear補間 | |
22 | ヒストグラムのスケーリングとシフト | 27 | Bi-cubic補間 | |
23 | ヒストグラム平坦化 | 28 | アフィン変換(平行移動) | |
24 | ガンマ補正 | 29 | アフィン変換(拡大縮小) | |
25 | 最近傍補間 | 30 | アフィン変換(回転) |
問題31 - 40
番号 | 問題 | 番号 | 問題 | |
---|---|---|---|---|
31 | アフィン変換(スキュー) | 36 | JPEG圧縮 (Step.1)離散コサイン変換 | |
32 | フーリエ変換 | 37 | PSNR | |
33 | フーリエ変換 ローパスフィルタ | 38 | JPEG圧縮 (Step.2)DCT+量子化 | |
34 | フーリエ変換 ハイパスフィルタ | 39 | JPEG圧縮 (Step.3)YCbCr表色系 | |
35 | フーリエ変換 バンドパスフィルタ | 40 | JPEG圧縮 (Step.4)YCbCr+DCT+量子化 |
問題41 - 50
番号 | 問題 | 番号 | 問題 | |
---|---|---|---|---|
41 | Cannyエッジ検出 (Step.1) エッジ強度 | 46 | Hough変換・直線検出 (Step.3) Hough逆変換 | |
42 | Cannyエッジ検出 (Step.2) 細線化 | 47 | モルフォロジー処理(膨張) | |
43 | Cannyエッジ検出 (Step.3) ヒステリシス閾処理 | 48 | モルフォロジー処理(収縮) | |
44 | Hough変換・直線検出 (Step.1) Hough変換 | 49 | オープニング処理 | |
45 | Hough変換・直線検出 (Step.2) NMS | 50 | クロージング処理 |
問題51 - 60
番号 | 問題 | 番号 | 問題 | |
---|---|---|---|---|
51 | モルフォロジー勾配 | 56 | テンプレートマッチング NCC | |
52 | トップハット変換 | 57 | テンプレートマッチング ZNCC | |
53 | ブラックハット変換 | 58 | ラベリング 4近傍 | |
54 | テンプレートマッチング SSD | 59 | ラベリング 8近傍 | |
55 | テンプレートマッチング SAD | 60 | アルファブレンド |
問題61 - 70
番号 | 問題 | 番号 | 問題 | |
---|---|---|---|---|
61 | 4-連結数 | 66 | HOG (Step.1) 勾配強度・勾配角度 | |
62 | 8-連結数 | 67 | HOG (Step.2) 勾配ヒストグラム | |
63 | 細線化 | 68 | HOG (Step.3) ヒストグラム正規化 | |
64 | ヒルディッチの細線化 | 69 | HOG (Step.4) 特徴量の描画 | |
65 | Zhang-Suenの細線化 | 70 | カラートラッキング |
問題71 - 80
番号 | 問題 | 番号 | 問題 | |
---|---|---|---|---|
71 | マスキング | 76 | 顕著性マップ | |
72 | マスキング(カラートラッキングとモルフォロジー) | 77 | ガボールフィルタ | |
73 | 縮小と拡大 | 78 | ガボールフィルタの回転 | |
74 | ピラミッド差分による高周波成分の抽出 | 79 | ガボールフィルタによるエッジ抽出 | |
75 | ガウシアンピラミッド | 80 | ガボールフィルタによる特徴抽出 |
問題81 - 90
番号 | 問題 | 番号 | 問題 | |
---|---|---|---|---|
81 | Hessianのコーナー検出 | 86 | 簡単な画像認識 (Step.3) 評価(Accuracy) | |
82 | Harrisのコーナー検出 (Step.1) Sobel + Gaussian | 87 | 簡単な画像認識 (Step.4) k-NN | |
83 | Harrisのコーナー検出 (Step.2) コーナー検出 | 88 | K-means (Step.1) 重心作成 | |
84 | 簡単な画像認識 (Step.1) 減色化 + ヒストグラム | 89 | K-means (Step.2) クラスタリング | |
85 | 簡単な画像認識 (Step.2) クラス判別 | 90 | K-means データを増やす |
問題91 - 100
番号 | 問題 | 番号 | 問題 | |
---|---|---|---|---|
91 | K-meansによる減色処理 (Step.1) 色の距離によるクラス分類 | 96 | ニューラルネットワーク (Step.2) 学習 | |
92 | K-meansによる減色処理 (Step.2) 減色処理 | 97 | 簡単な物体検出 (Step.1) スライディングウィンドウ + HOG | |
93 | 機械学習の学習データの用意 (Step.1) IoUの計算 | 98 | 簡単な物体検出 (Step.2) スライディングウィンドウ + NN | |
94 | 機械学習の学習データの用意 (Step.2) ランダムクラッピング | 99 | 簡単な物体検出 (Step.3) Non-Maximum Suppression | |
95 | ニューラルネットワーク (Step.1) 使ってみる | 100 | 簡単な物体検出 (Step.4) 評価 Precision, Recall, F-score, mAP |
License
- The licenses of each algorithm and library are depend on each license.
- I am not responsible.