Pynote

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

numpy - 基本的な関数 まとめ (三角関数、対数関数、指数関数、etc)

概要 numpy の雛形から配列を生成する関数を整理する。 概要 三角関数 三角関数 (sin, cos, tan) のグラフ 逆三角関数 (arcsin, arccos, arctan) のグラフ 双曲線関数 双曲線関数 (sinh, cosh, tanh) のグラフ 度 (degree)、ラジアン (radian) の相互変換 対…

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

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

numpy - 上三角行列、下三角行列、対角行列の作成、対角成分の取得 (diag, tri, triu, tirl, etc)

概要 numpy の指定した行列から上三角行列、下三角行列、対角行列を作成する及び対角成分を取得する関数を整理する。 概要 一覧表 numpy.diag numpy.diagflat numpy.tri numpy.tril numpy.triu 参考

numpy - 規則的な配列を作成する。 (arange, linspace, meshgrid, etc)

概要 規則的な配列を作成する numpy の関数を整理する。 概要 一覧表 numpy.arange numpy.linspace numpy.logspace numpy.geomspace numpy.meshgrid numpy.mgrid 参考

numpy - 既存のリソースから作成する。 (copy, frombuffer, loadtxt, etc)

概要 リストや文字列、ファイルなど既存のリソースから配列を生成する numpy の関数を整理する。 概要 一覧表 numpy.array numpy.copy numpy.frombuffer numpy.fromfile numpy.fromfunction numpy.fromiter numpy.fromstring numpy.loadtxt 例: CSV ファイル…

numpy - 雛形から配列を作成する関数まとめ (empty, zeros, ones, etc)

概要 numpy の雛形から配列を生成する関数を整理する。 概要 一覧表 numpy.empty numpy.empty_like numpy.ones numpy.ones_like numpy.zeros numpy.zeros_like numpy.full numpy.full_like numpy.eye numpy.identity 参考

数学 - 勾配法について可視化して理解する。

概要 最適化問題では、勾配法が広く使われているがその基礎となる最急降下法について紹介する。 概要 最適化 勾配法 勾配法の仕組み [アルゴリズム] 最急降下法 [アルゴリズム] 最急上昇法 ステップ幅の決め方 ステップ幅を直線探索で決める。 [定理] 直線探…

数学 - 勾配について Python で可視化して理解する。

概要 機械学習、Deep Learning など最適化問題を解く際に勾配法が広く使われている。 この記事では勾配法に出てくる勾配について、定義及び性質を示したあと、Python を使ってグラフに描画して理解する。 概要 勾配とは [定義] 勾配 [定理] 勾配ベクトルは傾…

Jupyter Notebook - おすすめの nbextensions まとめ

概要 入力補完、コードの自動整形など Jupyter Notebook のおすすめの nbextensions を紹介する。 概要 関連記事 テーマやフォントの変更について Notebook のインストール方法について 試した環境 導入 次の2つをインストールする。 有効にする。 設定画面…

環境構築 - pipenv の使い方 まとめ

概要 Python 環境管理ツール pipenv の使い方をまとめた。 インストール方法については以下の記事を参照されたい。pynote.hatenablog.com 概要 試した環境 Python 環境を作成する。 新規に作成する 既存の Pipfile に基づき、作成する。 Python 環境にパッケ…

Keras - ImageNet の学習済みモデルを利用して画像分類を行う。

概要 Keras では VGG、GoogLeNet、ResNet などの有名な CNN モデルの学習済みモデルが簡単に利用できるようになっている。 今回は ImageNet で学習済みの VGG16 モデルを使った画像分類を行う方法を紹介する。 概要 手順 モデルを構築する。 画像を読み込む…

Deep Learning - CNN のモデル構造を可視化できる ConvNet Drawer を使ってみた

概要 ConvNet Drawer を使うと、論文などで見かけるモデル構造の図を作成できる。 概要 導入方法 使い方 PYTHONPATH に追加する。 モデルを作成する。 保存する。 対応している層 描画に関するパラメータ 参考

matplotlib - contour() で等高線を描画する。

概要 contour() で等高線を描画する際の各種設定について紹介する。contour() は等高線のみ作成するので、塗りつぶした等高線の場合は contourf() という関数を使用する。pynote.hatenablog.com 概要 基本的な使い方 等高線の間隔を指定する。 色を指定する…

matplotlib - contourf() で塗りつぶした等高線を描画する。

概要 contourf() で塗りつぶした等高線を描画する際の各種設定について紹介する。contourf() は塗りつぶした等高線を作成するので、等高線のみ作成する場合は contour() 関数を使用する。pynote.hatenablog.com 概要 基本的な使い方 等高線の間隔を指定する…

matplotlib - plot_surface() で 3D グラフを描画する。

概要 plot_surface() で 3D グラフを描画する際の各種設定について紹介する。 概要 基本的な使い方 影を無効にする。 パッチの間隔を変更する。 パッチの境界線をなくす。 パッチの境界線の色を変更する。 色を指定する。 カラーマップを指定する。 カラーバ…

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

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

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

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

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

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

OpenCV - pointPolygonTest() でポリゴンの中に点が含まれるかどうか調べる。

概要 OpenCV の pointPolygonTest() を使用して、点がポリゴンに含まれるかどうかを判定する方法を紹介する。 概要 pointPolygonTest() サンプルコード

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

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

OpenCV - 描画系の関数まとめ / 長方形、円、テキストを画像に描画する。

概要 OpenCV の描画系関数をサンプルコード付きでまとめた。 概要 描画系の関数の共通の仕様 矢印を描画する。 arrowedLine() サンプルコード 円を描画する。 circle() サンプルコード 塗りつぶさないで円を描画する。 塗りつぶして円を描画する。 輪郭を描…

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 カメラから映像を取得する。 動画を読み込む。 動画を書き込む。 各フレームを画像として、保存する。 画像から動画を作成する。 動画の各種プ…

Python - CSV の読み込み/書き込み まとめ

概要 CSV モジュールの使い方まとめ 概要 サンプルとして使用する CSV CSV を読み込み、リストで取得する。 1行ずつ読み込む。 一括で読み込む。 ヘッダーをスキップする。 リストを CSV に保存する。 1行ずつ書き込む。 一括で書き込む。 CSV を読み込み、O…

Python - os.path を使ったファイルパス操作 チートシート (頻出パターンまとめ)

概要 os.path モジュールを使用した頻出パターンを紹介する。 概要 インポート 指定したパスの絶対パスを取得する。 指定したパスのファイル名を取得する。 パス一覧の共通するパスを取得する。 パス一覧の共通部分を取得する。 親ディレクトリを取得する。 …

Python - itertools チートシート (頻出パターン)

概要 itertools モジュールを使用した頻出パターンを紹介する。 概要 itertools の import 等間隔の値を返すイテレータを作成する。 初項だけ指定する。 初項と公差を指定する。 配列を無限に繰り返すイテレータを作成する。 同じ値を繰り返すイテレータを作…

Python - リスト操作 チートシート (頻出パターンまとめ)

概要 Python のリスト操作の頻出パターンをまとめた。 概要 リストを初期化する。 空のリストを作成する。 値を追加する。 リストの先頭に値を追加する。 リストの末尾に値を追加する。 リストに値を挿入する。 2つのリストを結合する。 リストから要素を削…

OpenCV - アルファブレンドで画像を合成する方法

概要 OpenCV で2枚の画像をアルファブレンドして合成する方法を紹介する。 概要 アルファブレンドとは OpenCV を利用したアルファブレンド サンプルコード 矩形外をグレーアウトする。

matplotlib - アニメーションするグラフを作成する

概要 matplotlib でアニメーションするグラフを作成する方法を紹介する。 概要 各フレームを予め作成する。 animation.ArtistAnimation サンプル 複数の Axes がある場合 オンラインでフレームを生成する。 animation.ArtistAnimation サンプル

matplotlib - 2変数関数を3Dで可視化する。

概要 matplotlib で2変数関数を可視化する方法を紹介する。 概要 ワイヤーフレームでグラフを作成する。 ポリゴンでグラフを作成する。 点でグラフを作成する。 等高線を作成する。 等高線を作成する。(同じ高さを塗りつぶす)