Python独習!

習得したPython知識をペイフォワード

Python

Pythonとopencv4で特徴量パターンマッチング(AKAZE)

いよいよパターンマッチングに着手。 まさにやりたいことを紹介してくれているサイトはあるが、やはりそのままでは動かない。OpenCV2 → 3 → 4 になるにつれて抜けてる機能があるのが原因かと。 cv2.drawMatchesKnn()は使えないので注意! 準備 Pyhton-contri…

Pythonで2枚の画像の(単純な)差分をバウンディングボックスで囲う

2つの画像を比較して、差異を部分を枠で囲うプログラム。まずは単純に2つの画像の引き算を行うだけの簡単な処理から。 画像はおなじみのLean。比較画像は、参照画像にペイントでお絵描きしたもの。なので、横ずれや回転が生じていない想定。 結果 2か所誤…

Pyhtonで円検出

円形の検出処理の勉強 結果 OpenCVのハフ変換で円検出した。 左が元画像、左が検出結果をオーバレイした画像 プログラム # 19_CircleDetection_001.py # python 3.8.1 # coding: utf-8 # import cv2 import numpy as np from matplotlib import pylab as plt…

Pythonで同心円のグラデーション画像を作る

数年前に先輩から同心円の画像を作るツールがないか聞かれたことがあった。当時は心当たりがなかったのでその先輩の力になれなかった。今になって思いだしたため、Pythonで挑戦してみた。以前つくった『Sin波のグラデーション画像を作る』プログラムをベース…

Pythonでcsv読み込み&書き込み(クラスに分割ver)

Pythonのクラスの書き方に手を出す。オブジェクト指向は Java を挫折してから苦手意識があるが… とりあえず、以前つくった『Pythonでcsv読み込み&書き込み』をクラスを使って書きなおしてみた。 greenhornprofessional.hatenablog.com 結果 pyファイルを2…

Pythonでデータロガーのような動的グラフを表示する

実験で使うデータロガーや、株価の推移など、データを動的なグラフにしてモニタリングしたいシーンはたくさんあると思う。使いどころが多いともうので勉強してみた。 結果 RC回路の過渡現象をシミュレーションしてみた。 参考:https://www.kairo-nyumon.com…

Pythonでブラウザから画像を受け取って、処理して返す。

クライアントがHTML、サーバーがPythonのWebアプリの勉強。ブラウザから画像を選択し、Pythonで微分画像にしてそれをブラウザでまた表示する、という内容。 結果 初期画面。左側に処理前の画像を表示し、右側に処理後の画像を表示する。 画像のアップロード…

Pythonでブラウザから画像データを受け取る

ブラウザでローカルに保存している画像を選択し、それをPythonに渡す。Python側でOpenCVで画像処理をする、という想定。今日のところは画像を保存するところまで。画像はドキュメントルートに保存される。 コードの解説(忘備録)は後日、新しい記事としてポ…

PythonでWebサーバーを立てる!

2021/01/27 更新 Pythonでクライアント・サーバーアプリケーションを作ってみたい http.serverを使うことで自分のパソコンにサーバーを立てることができる。 解説 クライアント・サーバーアプリケーションは下図のイメージ。 クライアント 例えばChromeなど…

Pythonで画像変換(アフィン変換)

物体認識した対象が画像の中央に位置するように画像を変換(XYシフト)する、というプログラムが作りたい。今日のところは、シフト量が与えられているものとして、アフィン変換の部分だけを作った。 結果 400 x 200 pixの画像に x= 20, y= 50 シフト量を与え…

Pythonでマウスで線を引いて画像からラインプロファイルを抽出する

市販のHalocn、フリーならImageJなどで、画像からラインプロファイルを抽出することができる。ラインプロファイルを解析するところまで1個のソフトでやりたかったのでPythonで作ってみた。今回はラインプロファイルを表示するところまで。 結果 左はサイン波…

Pythonで不等号のTrue/Falseを変数に代入する

使う機会があるわからないが、右辺と左辺を比較して不等号が成立しているかどうかの結果を変数に代入する、というやり方。 結果 左辺 = 8.0 右辺 = 19.0 左辺 > 右辺か? False 左辺 < 右辺か? True プログラム Python3.8.1 import math y1=2 y2=10 x1=1 x2…

PythonでSin波のグラデーション画像を作る

画像処理のテスト用画像として、サイン波状にグラデーションになっている画像が欲しかったので、Pythonで作ってみた。 結果 4周期分のグラデーション画像が得られた。 プログラム python3.8.1 from matplotlib import pylab as plt import numpy as np impor…

Pythonのsys.argvの使い方②

sys.argv[1]を使えば、pyファイルにデータファイルをドラッグ&ドロップすることができるらしいので、試してみた。 結果 下図のようにpyファイルにHatenaロゴのjpgデータをドラッグ&ドロップした。 Hatenaロゴが表示された。 プログラム Python 3.8.1 impor…

Pythonのsys.argvの使い方

先達のソースを拝見しているとよく出てくるsys.argvがどのような振る舞いをするのか試してみた。 結果 コマンドプロンプトで.pyファイルの後にスペース区切りで引数a, b, cを入力した。 C:\Python\Python38-32\06_learnArgv_001.py a b c以下が出力される。s…

Pythonで社内ネットワークから拡張モジュールをインストール

2020/04/01 追記:アクセス拒否の回避方法社内のネットワーク環境でPythonの拡張モジュールをインストールする際のメモ書き。OSはWindows10。 手順 1.プロキシ情報を調べる 何個か調べ方はあるようだが、以下のサイトの方法が上手くいった。一部、抜粋する…

Pythonでディレクトリ内のフォルダのサイズを出力

私の職場では、共有サーバーの容量が上限ギリギリなので不要なものをバックアップサーバーに移すように、と緊急指示が出ることがある。そんなときにどのフォルダが容量を食っているのか調べたくなる。 指定したディレクトリからさらに1階層下のディレクトリ…

Pythonでcsv読み込み&書き込み

PythonでCSVファイルを読み込み、スプライン補間した後に、CSVファイルに出力する。出力するファイル名にはタイムスタンプをつける。というプログラム。 結果 左が読み込んだCSVファイル。右がスプライン補間後のCSVファイル。 プログラム Python 3.8.1 impo…

Pythonでグラフ1から任意範囲を抜き取ってグラフ2として表示する

画像の輝度プロファイルを読み込んでグラフ表示し、そこから必要な部分(解析にかけたい部分)をグラフ上で選択することを想定。その前段、というか練習として、Sin波をプロットし、そこから任意の区間をマウスクリックで設定し、該当する区間のCos波を表示…

Pythonでラインプロファイルの正規化

釣鐘型のラインプロファイルを正規化して、他サンプルと比較しやすくする。その次のステップとして半値幅を求める、などなど。 結果 プロファイルの形状はそのままで最小値が0、最大値が1のプロファイルが得られた。 プログラム 生データをスプライン補間し…

ラインプロファイルのスプライン補間

シーンとしては画像解析。 エッヂ広がり関数(edge spread function:ESF)を微分して、ライン広がり関数(line spread function:LSF)を求めて、その半値幅で画像のボケ度合いを定量化する。 今回は、ESFもしくはLSFをデータ補間して画素数の少なさからくる“ラ…

Pythonのインストールと設定

エクセルでやるデータ処理に限界を感じたので、Pythonに手を出してみる。 Pythonをインストールする 以下のサイトを参考に。 www.javadrive.jp 環境変数を設定する python.exeが置かれているディレクトリのパスをシステム環境変数に設定する pip.exeが置かれ…

/* -----codeの行番号----- */