Pynote

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

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) - ImageEnhance モジュールで画像の明るさ、コントラストなどを変更する方法

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

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

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

OpenCV - 階調変換を画像に適用する方法について

概要 OpenCV で階調変換を画像に適用する方法について紹介する。 概要 階調変換 2値化 (binarization) ポスタリゼーション (postarization) ソラリゼーション (solarization)

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

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

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

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

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

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

数学 - マンデルブロ集合を TensorFlow で作成する。

概要 TensorFlow の公式サイトにあったマンデルブロ集合を作成する チュートリアル が面白そうだったので、紹介する。 TensorFlow は数値計算ライブラリなので、Deep Learning 以外のこのような用途にも使用できる。 概要 マンデルブロ集合 マンデルブロ集合…

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

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

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

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

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

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

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

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

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

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

Pillow (PIL) - 画像を回転、反転させる方法について

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

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

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

TensorFlow / Keras - ImageDataGenerator を使った画像分類モデルの学習方法

概要 ImageDataGenerator を使用して画像分類の学習を行うチュートリアル。 関連記事 pynote.hatenablog.com pynote.hatenablog.com Jupyter Notebook 本記事のコード全体は以下。keras-image-data-generator-usage.ipynb 概要 関連記事 Jupyter Notebook fl…

TensorFlow/Keras - Fashion-MNIST で TensorFlow の基本を学ぶ。

概要 Fashion-MNIST を使った画像分類問題を TensorFlow で作成するチュートリアル。 概要 Fashion-MNIST モデルを作成する。 モデルをコンパイルする。 学習する。 テストデータに対する性能を確認する。 テストデータを推論する。 画像1枚だけを推論する。

Deep Learing - MS COCO データセットの概要

概要 MS COCO データセットの取得方法と MS COCO API の使い方について紹介する。 概要 MSCOCO データセット MS COCO データセットのダウンロード MSCOCO API をインストールする。 MSCOCO API の使い方 用語 COCO オブジェクトを作成する。 カテゴリ ID を…

Deep Learning - Augmentor で画像のデータセットを水増し (オーグメンテーション) する。

概要 画像データをオーグメンテーションするライブラリ Augmentor の使い方について紹介する。 概要 関連記事 インストール 基本的な使い方 入出力の方式 入力画像の枚数と同じ枚数生成する。 n 枚生成する。 ディレクトリから読み込む代わりに配列を渡す。 …

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 で変更する。

pandas - 欠損値 (NaN) を扱う関数 まとめ

概要 pandas の欠損値 (NaN) を扱う関数を紹介する。 概要 一覧 count: NaN でない値を数える。 isna: NaN かどうかを判定する。 notna: NaN でないかどうかを判定する。 dropna: NaN の要素を削除する。 fillna: NaN の要素を指定した値で置換する。 interp…

pandas - 重複データを処理する関数 まとめ

概要 pandas の重複データを処理する関数を紹介する。 概要 一覧 Series.is_unique: 重複する値がないかどうかを返す。 Series.unique, Series.drop_duplicates, DataFrame.drop_duplicates: 重複する値を削除する。 Series.nunique, DataFrame.nunique: 重…

pandas - where、mask で条件に該当する要素を置換する。

概要 pandas の where、mask 関数について紹介する。 概要 Series.where cond の指定方法 inplace で置換する。 DataFrame.where cond の指定方法 inplace で置換する。 Series.mask DataFrame.mask

pandas - 総和、総乗、累積和、累積積、累積的な最小値、累積的な最大値

概要 pandas の総和、総乗、累積和、累積積、累積的な最小値、累積的な最大値を計算する関数について紹介する。 概要 一覧 sum: 総和を計算する。 prod: 総乗を計算する。 cumsum: 累積和を計算する。 cumprod: 累積積を計算する。 cummin: 累積的な最小値 c…

pandas - 統計量を計算する関数

概要 pandas の統計量を計算する関数を整理する。 順序統計量 DataFrame Series numpy 説明 DataFrame.max Series.max amax 最小値を計算する。 DataFrame.min Series.min amin 最大値を計算する。 DataFrame.idxmax Series.idxmax numpy.argmin 最小値のイ…

pandas - 基本的な関数 まとめ (比較演算、四則演算、絶対値、クリップ、etc)

概要 pandas の比較演算、四則演算、絶対値、クリップなどの関数を整理する。 概要 演算は同じインデックス同士で行われる。 四則演算、累乗、剰余 比較演算子 絶対値、内積、行列積、丸め、クリップ Series.abs、DataFrame.abs Series.dot、DataFrame.dot S…