Pynote

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

OpenCV

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

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

Pillow (PIL) - 画像にフィルタを適用する方法

概要 Pillow (PIL) で画像にフィルタを適用する方法について紹介する。 概要 Image.filter ぼかす (ImageFilter.BLUR) 輪郭抽出 (ImageFilter.CONTOUR) エッジ強調 (ImageFilter.DETAIL) エッジ強調 (ImageFilter.EDGE_ENHANCE) エッジ強調 (ImageFilter.EDG…

Pillow (PIL) - アルファブレンディングを行う方法

概要 Pillow (PIL) でアルファブレンディングを行う方法について紹介する。 概要 アルファブレンディング マスクを使用した合成 2値画像のマスクで合成する。 グレースケール画像のマスクで合成する。

Pillow (PIL) - 画像を切り抜く方法

概要 Pillow (PIL) で画像を切り抜く方法について紹介する。 概要 Image.crop

Pillow (PIL) - 画像に図形を描画する関数 まとめ

概要 Pillow (PIL) で画像に図形を描画する関数を整理する。 概要 弧を描画する。 弦を描画する。 楕円を描画する。 直線を描画する。 内部を塗りつぶした弧を描画する。 点を描画する。 ポリゴンを描画する。 長方形を描画する。 テキストを描画する。 半透…

OpenCV - 関数として用意されているフィルタ処理の一覧

概要 OpenCV で専用の関数が用意されているフィルタ処理の一覧を紹介する。 概要 バイラテラルフィルタ ぼかし ボックスフィルタ メディアンフィルタ

Pillow (PIL) - ImageEnhance モジュールで画像の明るさ、コントラストなどを変更する方法

概要 Pillow (PIL) の ImageEnhance モジュールで画像の明るさ、コントラストなどを変更する方法を紹介する。 概要 カラーバランスを調整する。 コントラストを調整する。 明るさを調整する。 シャープネスを調整する。 減色する。

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

概要 OpenCV で画像を回転、反転させる方法を整理する。 概要 任意の角度回転させる。 画像を 90°、180°、270° 回転させる 反時計回りに90° (時計回りに270°) 回転させる。 反時計回りに180° (時計回りに180°) 回転させる。 反時計回りに270° (時計回りに90°…

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

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

Pillow (PIL) - 画像の情報を取得する方法

概要 Pillow (PIL) で画像の情報を取得する方法について紹介する。 概要 画像ファイルの情報 画像の大きさ 画像の形式 Exif 情報

Pillow (PIL) - 画像のヒストグラムを作成する方法

概要 Pillow (PIL) で画像のヒストグラムを作成する方法について紹介する。 概要 histogram サンプルコード

Pillow (PIL) - 画像のチャンネル、画素値を操作する方法

概要 Pillow (PIL) で画像のチャンネル及び画素値の情報の取得、分離、結合などの操作を行う方法について紹介する。 概要 チャンネル一覧を取得する。 各チャンネルごとの最小値、最大値を取得する。 画像で使用されている画素値の一覧を取得する。 特定のチ…

Pillow (PIL) - 16進カラーコードやカラーネームを RGB に変換する方法

概要 Pillow (PIL) で16進カラーコードやカラーネームを RGB に変換する方法について紹介する。 概要 16進カラーコードを RGB に変換する。 HTML カラー名を RGB に変換する。

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

概要 OpenCV の関数 HoughCircles で画像から円を検出する方法について紹介する。 概要 関連記事 HoughCircles サンプルコード ipywidget

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

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

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

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

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

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

Jupyter Notebook / Jupyter Lab で画像をインラインで表示する方法

概要 Jupyter Notebook / Jupyter Lab で画像をインラインで表示する方法を紹介する。 概要 numpy 形式の画像 PIL 形式の画像

画像認識 - face_recognition ライブラリで顔認識を試す。

概要 face_recognition ライブラリを使って、顔認識を行う方法を紹介する。pynote.hatenablog.com Github ドキュメント 概要 顔認識 顔の特徴

OpenCV - 画像にモザイクをかける方法について

概要 OpenCV を使用して、モザイク処理を行う方法を紹介する。 概要 モザイク処理をする方法 画像の一部にモザイクをかける。 顔検出して、モザイク処理を行う。

画像処理 - face_recognition ライブラリで顔検出を試す。

概要 顔認識が行える face_recognition ライブラリを紹介する。 dlib という機械学習ライブラリをラップする形で構築されており、最先端の顔認識技術を簡単に利用することができる。 Github ドキュメント 概要 インストール 顔検出 基本的な使い方 検出に CN…

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

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

OpenCV - imread()、imwrite() で画像をファイルに入出力する

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

OpenCV - matchShape() で輪郭の類似度を計算する。

概要 matchShape() で2つの輪郭の類似度を算出し、マッチングを行う方法について 概要 関連記事 輪郭の抽出する。 結果を描画する。 matchShape()

OpenCV - 2枚の画像の類似度を compareHist() で計算する。

概要 OpenCV の compareHist() を使用して画像同士の類似度を計算する方向についてpynote.hatenablog.com 概要 compareHist() サンプルコード

OpenCV - 画像に適用するアフィン変換について

概要 画像に適用するアフィン変換について整理する。 概要 関連記事 標準座標系と画像座標系 主な変換一覧 変換の例 拡大縮小 (scaling) 回転 (rotation) 平行移動 反転 せん断 (sheer) 画像にアフィン変換を適用する流れ

OpenCV - 画像をグリッド上に分割する方法について

概要 画像をグリッド上に分割する方法について紹介する。 概要 分割数を指定して、分割する場合 分割後のサイズを指定して分割する場合 分割した画像を元に戻す

OpenCV - floodFill() を使った塗りつぶし、背景の透過など

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

Python - インデックスカラー画像を読み込む方法について

概要 インデックスカラー画像を PIL で読み込み、各画素のインデックスの値及びカラーパレットを参照する方法について紹介する。 Deep Learning のセグメンテーションタスクでは、正解データがインデックスカラー画像で配布されていることが多いので、色では…

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

概要 背景画像に前景画像の対象物のみを貼り付ける方法について、紹介する。 概要 手順 背景画像及び前景画像を読み込む。 マスク画像を作成する。 背景画像と前景画像を合成する。