Python+OpenCVで画像処理ツール作成したときに参考になったwebサイトまとめ


# はじめに
PythonもOpenCVも業務未経験でした。
Pythonは知ってましたけど、OpenCVなんて名前初めて聞いたくらいでした。笑

ネット上から色々情報は拾えて来れましたが、良い記事見つけては試しての繰り返しで作成してたのですが

「この処理は何の記事を参考にしたんだっけ？」

とせっかく調べたのに忘れてしまうのはもったいないと思って参考になったサイトを纏めました。

### python + opencvの基本的なこと
1. [公式サイト](http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_imgproc/py_table_of_contents_imgproc/py_table_of_contents_imgproc.html)

1. [画像処理入門講座 : OpenCVとPythonで始める画像処理](https://postd.cc/image-processing-101/)

1. [「詳解OpenCV3」の備忘録(C++)](https://qiita.com/mocobt/items/67cb6d38c795d53800b7)

1. [画像処理の数式を見て石になった時のための、金の針](https://qiita.com/icoxfog417/items/adbbf445d357c924b8fc)


---

### 画像の明るさ調整に関すること

#### ガンマ補正
1. [ガンマ補正のうんちく](https://qiita.com/yoya/items/122b93970c190068c752)

1. [ガンマ補正で画像を見やすく調整](https://www.dogrow.net/python/blog99/)

1. [LUTを使って画像の暗部を持ち上げてみる](http://peaceandhilightandpython.hatenablog.com/entry/2016/02/05/004445)

---

### 画像のノイズ処理に関すること

##### ぼかし処理
1. [公式サイト(GaussianBlur)](http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_imgproc/py_filtering/py_filtering.html#id5)

1. [【Python】OpenCVで画像のぼかしと平滑化](https://code-graffiti.com/opencv-blurring-and-smoothing-in-python/)

##### クラスタリング、フィルタリング処理
1. [公式サイト(K-Meansクラスタリング)](http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_ml/py_kmeans/py_kmeans_opencv/py_kmeans_opencv.html#id7)

1. [Mean Shift Filtering](http://seiya-kumada.blogspot.com/2013/05/mean-shift-filtering.html)

##### その他の処理
1. [公式サイト(Non-local Means Denoising)](http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_photo/py_non_local_means/py_non_local_means.html)

1. [python+OpenCVでエッジを保存した平滑化(BilateralFilter, NLMeansFilter)](https://qiita.com/shim0mura/items/f222082b7ef08de3732e)

1. [【Python/OpenCV】写真のアニメ絵化](https://algorithm.joho.info/programming/python/opencv-anime/)

---

### 2値化画像に関すること

##### thresholdを使って閾値で2値化
1. [公式サイト](http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_imgproc/py_thresholding/py_thresholding.html)

1. [OpenCV 画像の二値化](https://qiita.com/tokkuri/items/ad5e858cbff8159829e9)

##### エッジを検出して2値化
1. [公式サイト](http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_imgproc/py_gradients/py_gradients.html#gradients)

1. [OpenCVとVisual C++による画像処理と認識（７）](http://ishidate.my.coocan.jp/opencv_7/opencv_7.htm)

1. [Python OpenCVで人物画像の背景を消す](https://qiita.com/AtomJamesScott/items/ccef87b1092d7407de0d)

##### モルフォロジー変換
1. [公式サイト](http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_imgproc/py_morphological_ops/py_morphological_ops.html)

1. [OpenCV - モルフォロジー演算について](http://pynote.hatenablog.com/entry/opencv-morpology)

##### 背景差分
1. [公式サイト](http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_video/py_bg_subtraction/py_bg_subtraction.html)

1. [背景差分を求める](https://www.blog.umentu.work/python3-opencv3%E3%81%A7%E8%83%8C%E6%99%AF%E5%B7%AE%E5%88%86%E3%82%92%E6%B1%82%E3%82%81%E3%82%8B/)

1. [使って画像の背景を削除する](https://codeday.me/jp/qa/20190303/354232.html)

1. [iQONでクロールしたアイテム画像がコーディネートに使われるまで](https://techblog.zozo.com/entry/iqon_image_processing)

1. [背景差分に関する備忘録](https://qiita.com/ANNEX_IBS/items/06c738a7f6bc896a6082)

1. [金属製品のメッキ不良を自動で検出するためには？](https://blog.h-sakano.dev/entry/2018/02/22/202904)

1. [OpenCVで背景差分をやってみた。](https://www.kinacon-blog.work/entry/2019/03/13/OpenCV%E3%81%A7%E8%83%8C%E6%99%AF%E5%B7%AE%E5%88%86%E3%82%92%E3%82%84%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F%E3%80%82)

1. [オーバーフローせずに画像の明るさを増やす](https://codeday.me/jp/qa/20190319/438313.html)

---

### 画像のセンタリングに関すること
1. [OpenCV - findContours() による輪郭抽出](http://pynote.hatenablog.com/entry/opencv-findcontours)

1. [OpenCVで長方形の画像に余白をつけて正方形にする](https://blog.mktia.com/how-to-resize-an-image-to-rectangle-with-opencv/)

1. [ホワイトボードの画像からポストイットを検出する](https://qiita.com/cfiken/items/44b364b951b605f1e919)

1. [OpenCV - 画像をリサイズする方法 (cv2.resize)](http://pynote.hatenablog.com/entry/opencv-resize)

1. [pythonで画像のアスペクト比を維持したままサイズ変更して余白を埋める](https://qiita.com/NaokiKojima4994/items/9e49021b671a7720bace)

---

### GrabCutに関すること
1. [公式サイト](http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_imgproc/py_grabcut/py_grabcut.html)

1. [二次元画像を「映え」させる【GrabCut】](https://qiita.com/koooootake/items/8aed4ee758548689f0a6)

1. [【OpenCV】GrabCutの使い方【セグメンテーション】](https://ipx.hatenablog.com/entry/2019/02/15/204036)

1. [PythonでOpenCV~GrabCut(前景抽出)~](https://www.tech-tech.xyz/2627474.html)

1. [Python と OpenCV によるグラフカット処理](https://qiita.com/KyojiOsada/items/3b54ca33242953051399)

---

### その他
1. [Watershedアルゴリズムを使った画像の領域分割](http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_imgproc/py_watershed/py_watershed.html)

1. [物体セグメンテーションアルゴリズム"watershed"を詳しく](https://qiita.com/ysdyt/items/5972c9520acf6a094d90)

1. [【Python】OpenCVでWatershedアルゴリズムと物体のセグメンテーション](https://code-graffiti.com/opencv-watershed-algorithm-in-python/)

1. [OpenCVとPythonで画像の自動補間（Fast Marching Method, Navier-Stokes）](https://qiita.com/hitomatagi/items/175c7f3a475cf463241b)

1. [OpenCVで鮮鋭化](http://pongsuke.hatenadiary.jp/entry/2018/03/27/130251)

1. [そこそこな線画を目指す OpenCV](https://qiita.com/khsk/items/6cf4bae0166e4b12b942)