Python
いよいよパターンマッチングに着手。 まさにやりたいことを紹介してくれているサイトはあるが、やはりそのままでは動かない。OpenCV2 → 3 → 4 になるにつれて抜けてる機能があるのが原因かと。 cv2.drawMatchesKnn()は使えないので注意! 準備 Pyhton-contri…
2つの画像を比較して、差異を部分を枠で囲うプログラム。まずは単純に2つの画像の引き算を行うだけの簡単な処理から。 画像はおなじみのLean。比較画像は、参照画像にペイントでお絵描きしたもの。なので、横ずれや回転が生じていない想定。 結果 2か所誤…
円形の検出処理の勉強 結果 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で挑戦してみた。以前つくった『Sin波のグラデーション画像を作る』プログラムをベース…
Pythonのクラスの書き方に手を出す。オブジェクト指向は Java を挫折してから苦手意識があるが… とりあえず、以前つくった『Pythonでcsv読み込み&書き込み』をクラスを使って書きなおしてみた。 greenhornprofessional.hatenablog.com 結果 pyファイルを2…
実験で使うデータロガーや、株価の推移など、データを動的なグラフにしてモニタリングしたいシーンはたくさんあると思う。使いどころが多いともうので勉強してみた。 結果 RC回路の過渡現象をシミュレーションしてみた。 参考:https://www.kairo-nyumon.com…
クライアントがHTML、サーバーがPythonのWebアプリの勉強。ブラウザから画像を選択し、Pythonで微分画像にしてそれをブラウザでまた表示する、という内容。 結果 初期画面。左側に処理前の画像を表示し、右側に処理後の画像を表示する。 画像のアップロード…
ブラウザでローカルに保存している画像を選択し、それをPythonに渡す。Python側でOpenCVで画像処理をする、という想定。今日のところは画像を保存するところまで。画像はドキュメントルートに保存される。 コードの解説(忘備録)は後日、新しい記事としてポ…
2021/01/27 更新 Pythonでクライアント・サーバーアプリケーションを作ってみたい http.serverを使うことで自分のパソコンにサーバーを立てることができる。 解説 クライアント・サーバーアプリケーションは下図のイメージ。 クライアント 例えばChromeなど…
物体認識した対象が画像の中央に位置するように画像を変換(XYシフト)する、というプログラムが作りたい。今日のところは、シフト量が与えられているものとして、アフィン変換の部分だけを作った。 結果 400 x 200 pixの画像に x= 20, y= 50 シフト量を与え…
市販のHalocn、フリーならImageJなどで、画像からラインプロファイルを抽出することができる。ラインプロファイルを解析するところまで1個のソフトでやりたかったのでPythonで作ってみた。今回はラインプロファイルを表示するところまで。 結果 左はサイン波…
使う機会があるわからないが、右辺と左辺を比較して不等号が成立しているかどうかの結果を変数に代入する、というやり方。 結果 左辺 = 8.0 右辺 = 19.0 左辺 > 右辺か? False 左辺 < 右辺か? True プログラム Python3.8.1 import math y1=2 y2=10 x1=1 x2…
画像処理のテスト用画像として、サイン波状にグラデーションになっている画像が欲しかったので、Pythonで作ってみた。 結果 4周期分のグラデーション画像が得られた。 プログラム python3.8.1 from matplotlib import pylab as plt import numpy as np impor…
sys.argv[1]を使えば、pyファイルにデータファイルをドラッグ&ドロップすることができるらしいので、試してみた。 結果 下図のようにpyファイルにHatenaロゴのjpgデータをドラッグ&ドロップした。 Hatenaロゴが表示された。 プログラム Python 3.8.1 impor…
先達のソースを拝見しているとよく出てくるsys.argvがどのような振る舞いをするのか試してみた。 結果 コマンドプロンプトで.pyファイルの後にスペース区切りで引数a, b, cを入力した。 C:\Python\Python38-32\06_learnArgv_001.py a b c以下が出力される。s…
2020/04/01 追記:アクセス拒否の回避方法社内のネットワーク環境でPythonの拡張モジュールをインストールする際のメモ書き。OSはWindows10。 手順 1.プロキシ情報を調べる 何個か調べ方はあるようだが、以下のサイトの方法が上手くいった。一部、抜粋する…
私の職場では、共有サーバーの容量が上限ギリギリなので不要なものをバックアップサーバーに移すように、と緊急指示が出ることがある。そんなときにどのフォルダが容量を食っているのか調べたくなる。 指定したディレクトリからさらに1階層下のディレクトリ…
PythonでCSVファイルを読み込み、スプライン補間した後に、CSVファイルに出力する。出力するファイル名にはタイムスタンプをつける。というプログラム。 結果 左が読み込んだCSVファイル。右がスプライン補間後のCSVファイル。 プログラム Python 3.8.1 impo…
画像の輝度プロファイルを読み込んでグラフ表示し、そこから必要な部分(解析にかけたい部分)をグラフ上で選択することを想定。その前段、というか練習として、Sin波をプロットし、そこから任意の区間をマウスクリックで設定し、該当する区間のCos波を表示…
釣鐘型のラインプロファイルを正規化して、他サンプルと比較しやすくする。その次のステップとして半値幅を求める、などなど。 結果 プロファイルの形状はそのままで最小値が0、最大値が1のプロファイルが得られた。 プログラム 生データをスプライン補間し…
シーンとしては画像解析。 エッヂ広がり関数(edge spread function:ESF)を微分して、ライン広がり関数(line spread function:LSF)を求めて、その半値幅で画像のボケ度合いを定量化する。 今回は、ESFもしくはLSFをデータ補間して画素数の少なさからくる“ラ…
エクセルでやるデータ処理に限界を感じたので、Pythonに手を出してみる。 Pythonをインストールする 以下のサイトを参考に。 www.javadrive.jp 環境変数を設定する python.exeが置かれているディレクトリのパスをシステム環境変数に設定する pip.exeが置かれ…