Pynote

Python、機械学習、画像処理について

OpenCV

OpenCV - Non Maximum Suppression について

概要 物体検出で用いられる Non Maximum Suppression の仕組み及び実装について紹介する。 概要 Non Maximum Suppression 短形の表現 Overlap Ratio Non Maximum Suppression の処理 閾値の設定 実装 モジュールを import する。 画像を読み込む。 短形を描…

OpenCV - k 平均法 (k-means) を使い、画像の代表色を取得する方法

概要 OpenCV で k 平均法 (k-means) を使い、画像の代表色を取得する方法を紹介する。 以下の用途で利用できる。 画像で使われている主な色を取得する。 画像を見た目にあまり影響がないように減色する。(例: 1000色で表されている画像を8色で表現する。) 概…

OpenCV - 画像を回転、反転させる方法について

OpenCV で画像を回転を任意の角度だけ回転させたり、上下、左右で反転させる方法を紹介する。

Pillow (PIL) - 画像をリサイズする方法について

概要 Pillow (PIL) で画像をリサイズする方法について紹介する。 概要 resize 指定した大きさにリサイズする。 指定した倍率でリサイズする。 アスペクト比を固定して、幅が指定した値になるようリサイズする。 アスペクト比を固定して、高さが指定した値に…

OpenCV - HoughCircles でハフ変換を行い、円を検出する方法 (HoughCircles)

ハフ変換で円を検出する方法 (HoughCircles)

OpenCV - ハフ変換 (Hough Transform) で直線を検出する方法

概要 OpenCV でハフ変換 (Hough transform) で画像から直線を検出する方法について紹介する。 概要 HoughLines サンプルコード 2値化する。 ハフ変換で直線検出する。 描画する。 ipywidget HoughLinesP ipywidget ハフ変換の仕組み 任意の直線は、 で表せる…

OpenCV - Canny 法で画像からエッジを検出する。

概要 OpenCV でCanny 法で画像からエッジを検出する方法について紹介する。 概要 Canny エッジ検出 OpenCV サンプルコード パラメータ調整について ipywidget

OpenCV - 画像の明るさやコントラストを変更、ガンマ補正など

概要 OpenCV で画像の明るさやコントラストを変更する方法について紹介する。 概要 積和演算で明るさ、コントラストを変更する。 コード 各パラメータによる結果 ipywidget で変更する。 ガンマ補正 コード 各パラメータによる結果 ipywidget で変更する。

OpenCV - 画像処理のパラメータを決めるには、ipywidgets が便利

概要 OpenCV で各種画像処理を行うためには決めなければならないパラメータがいくつか出てくる。 Notebook 上でスライダーやプルダウンメニューを使えるようにする GUI ウィジェットである ipywidgets を組み合わせることで、画像処理の結果を確認しながら、…

OpenCV - imread で画像を読み込む、imwrite で画像を保存する

概要 OpenCV で imread()、imwrite() で画像をファイルに入出力する方法について 概要 画像を読み込む。(cv2.imread) 画像の読み込みに失敗する場合 画像を書き込む。(cv2.imwrite) 画像をエンコード/デコードする。(cv2.imencode、cv2.imdecode)

OpenCV - floodFill で塗りつぶし、背景の透過を行う方法

概要 OpenCV の floodFill で塗りつぶし、背景の透過を行う方法を紹介する。 概要 floodFill flags の指定方法 loDiff、upDiff の意味 サンプルコード 塗りつぶしを行う。 マスクを使用した例 指定した色を透過する。

OpenCV - マスクを使用した画像の合成方法について

マスクを使用した画像の合成方法について紹介する。

OpenCV - 長方形、円、テキストなどを画像に描画する方法

OpenCV で長方形、円、テキストなどを画像に描画する方法を紹介する。

OpenCV - Windows で OpenCV を導入する方法 (2018年10月版)

概要 Windows で OpenCV 3.4.1 を opencv-contrib 付きで導入する方法を紹介する。 概要 手順 1. ソースコードをダウンロードする。 2. CMake GUI でプロジェクトファイルを生成する。 OpenCV が使えるか試す。 トラブルシューティング cmake の段階で find_…

OpenCV - VideoCapture / VideoWriter で動画の読み込み/書き込みを行う。

概要 OpenCV の VideoCapture / VideoWriter でWeb カメラから映像の取得、動画の読み込み、書き込みを行う方法について紹介する。 概要 API リファレンス Web カメラから映像を取得する。 動画を読み込む。 動画を書き込む。 各フレームを画像として、保存…

OpenCV - 輪郭を近似する、面積を求める、Bounding Box を求める方法

概要 FindContours() で抽出した輪郭に対して行う以下の処理を紹介する。 輪郭の周囲の長さを計算する。 (cv2.arcLength()) 輪郭の面積を計算する。 (cv2.contourArea()) 輪郭を近似する。 (cv2.approxPolyDP()) 輪郭に外接する長方形を取得する。 (cv2.boun…

OpenCV - resize で画像をリサイズする方法

OpenCV の cv2.resize() で画像をリサイズする方法について紹介する。

OpenCV - findContours で輪郭抽出する方法

概要 2値画像から findContours() を使用して輪郭抽出を行う方法について紹介する。 関連記事 輪郭を抽出したあとの処理については下記を参照されたい。www.pynote.info 概要 関連記事 findContours サンプルコード 輪郭を抽出する。 輪郭を描画する。 mode …

OpenCV - テンプレートマッチングの仕組み及び方法

テンプレートマッチングの仕組み及び方法について紹介する。

OpenCV - カメラキャリブレーションを行う方法

概要 OpenCV でカメラキャリブレーションを行う方法について紹介する。 概要 カメラキャリブレーション 手順 キャリブレーション器具を様々な距離、角度から撮影する。 キャリブレーション器具でマーカー検出を行う。 検出した画像座標上の点に対応する3次元…

OpenCV - inRange で2値化する方法

概要 OpenCV の inRange で2値化する方法について紹介する。 概要 inRange グレースケール画像 RGB 画像 HSV 画像

OpenCV - connectedComponents で連結成分のラベリングを行う方法

OpenCV の connectedComponents で連結成分のラベリング (connected component labeling) を行う方法について紹介する。

OpenCV - 画像を切り抜く方法

OpenCV で画像を切り抜く方法について紹介する。