Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【python3, opencv2】2枚の画像を半透明にして重ね合わせる

img_new = cv2.addWeighted(src1=img1, alpha=0.5, src2=img2, beta=0.5, gamma=0)img1とimg2を透明度0.5ずつにして足し合わせるもしimg1の明るくて、img2が暗い場合はimg1ばかりが見えてしまうので比率を0.5じゃなくて3と0.1とかにしないといけない場合もあ…

【python3, opencv2】画像の解像度を変更したい時(縮小・拡大)

cv2.resize(img, Size,fx=0,fy=0,interpolation=INTER_LINEAR)でresizeを行う Sizeは(width, height)の順番fx, fyは拡大率とかだけど、比率を同じにしたままresizeするならなくて良い いつか使うかもしれないのでメモこれににたので、アフィン変換というのも…

【python3, opencv2】読み込んだ画像のdtypeを変更したい時

2枚の画像を比較する際に、片方はdtype=np.uint8、もう片方がdtype=np.uint16だと比較できないと怒られる ダイナミックレンジが異なるこういうときは、小さい方のダイナミックレンジの画像を大きい方に合わせるimg_oldがnp.uint8だとすると、new_fig = np.ui…

【python3, opencv】読み込んだ画像に黒の余白を追加したい

2枚の画像を比較する際に、解像度が違うことがある。 アスペクト比が同じであれば、単純にresizeして縮小・拡大すればいいが、アスペクト比が違う場合は余白を追加してそれを揃える必要があるimport cv2img_orig = cv2.imread(fname, cv2.IMREAD_UNCHANGED) …

【python3】mambaで仮想環境を整える

condaよりも圧倒的に早い・・・まずはcondaのアンインストール anaconda-cleanというパッケージをインストールしてあれこれやっているけど、関係してそうなディレクトリをそのまま削除するのでも良いと思う・・・■ 参考 : Anaconda3をきれいにアンインストー…

【python3, opencv2】画像を楕円でフィットする

png画像の一部を楕円でフィットする要請があったので色々と調べた時のメモ 結局opencvで、画像の上に楕円を書いて、一番あっているものを採用することにした (要するに手でフィットした)楕円と一言で言っても回転している可能性がたかいので、それも踏まえて…

【numpy, python3】ヒストグラム(histogram)で最頻値(mode)を取り出したい

hist, bins = np.histogram(input_data, nbin) delta = (bins[1]-bins[0])/2 xr = np.linspace(np.min(bins)+delta,np.max(bins)-delta,len(bins)-1) x_max = xr[np.argmax(hist)]input_data というのがヒストグラムを書くデータ x_maxが最頻値 ただし、ヒス…

【python3】プログレスバーを表示したい

自分のスクリプトが現状どの程度完了しているかのために、プログレスバーを表示できるこれをcgi-binと組み合わせて使いたかったけど、それはできないっぽいので諦めた ひとまず、どこかで使うかもしれないのでメモしておく ■ 参考 : Python の progress bar …

自動的にマウントについてそのうち調べるメモ【Linux】

今までは、sshfsを使って外部のサーバーをマウントしたりしてたけど、もう開発が終了してるとか・・・代わりの方法を見つけないといけない。 とりあえず聞いた名前をメモしておく rclone union rsync+crontabを使ってどうにかすることもできるかもしれないそ…

【python3, numpy】数字を丸める

numpyのload("hoge.npz")とかでデータを読み込んだ時に、小数点以下の桁に0じゃない値が出てきて困った・・・その値を他のものと比較する必要があったので、 こちらで丸めて、対応したimport numpy as np b = np.around(a, 2)でaを小数点以下2桁まで丸める …

【python3】少しだけ位置ずれした2枚の画像から特徴点を抽出してずれの大きさを評価したい

opencvでできる うまくいったサンプルコード うまくいった例をメモ■ 参考 : OpenCVをつかった特徴点マッチングについて少しだけ掘り下げる基本的に↑の記事通りに動かした■ 参考 : OpenCV3とPython3で特徴点を抽出する(AgastFeature, FAST, GFTT, MSER, AKAZ…

【python3, numpy】numpyのndarrayの中にNoneがあるときに取り除く

np.nanじゃなくて、pythonのNoneに対しても使えたのでメモ ■ 参考 : NumPy配列ndarrayの欠損値np.nanを含む行や列を削除 xというarrayに対して、Noneだけを取り除きたい時x = x[~np.isnan(x)] ランキング参加中です ↓クリックしていただけると嬉しいです〜ラ…

【matplotlib】svgでも保存できる

それをsvgで保存して、legendをクリックしたら、そのデータが画像から消えるようなパッケージを発見したので利用していたまず、matplotlibでプロットを作成する そして、すでに作成した fig = plt.figure(figzsize=[12, 8])の中からデータの部分を抜き出して…

【python3, numpy】AttributeError: module 'numpy' has no attribute 'int'.というエラーが出た

AttributeError: module 'numpy' has no attribute 'int'. `np.int` was a deprecated alias for the builtin `int`. To avoid this error in existing code, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `n…

【opencv】グレースケールにした画像をRGBにする + 真っ黒な画像を用意する

import cv2 photo = cv2.imread('hoge.png') grays = cv2.cvtColor(photo, cv2.COLOR_RGB2GRAY) rgb = cv2.cvtColor(grays, cv2.COLOR_GRAY2RGB) みたいな感じグレースケールの明るさがそのままRGBのそれぞれに割り当てられるらしい 一度グレースケールにし…

【pip】でgithubのコードをインストールする

リポジトリ名とパッケージ名が同じ場合は pip install git+https://github.com/acc_name/pkg_name.git ランキング参加中です ↓クリックしていただけると嬉しいです〜ランキング参加中Python ランキング参加中HTML ランキング参加中Mac

【python3, numpy】データの中身を逆順にしたい

データの中身を逆順にしたい reverse = array[::-1] import numpy as np reverse = np.flipud(array) reverse = np.flip(array) ランキング参加中です ↓クリックしていただけると嬉しいです〜ランキング参加中Python ランキング参加中HTML ランキング参加中M…

【opencv, python3】画像のコピー

img2 = img.copy() 単純にimg2 = imgとしてしまうと、オリジナルのimgも修正されてしまう・・・・ ランキング参加中です ↓クリックしていただけると嬉しいです〜ランキング参加中Python ランキング参加中HTML ランキング参加中Mac

【opencv】HSVフィルターのサンプルコード

サンプルコード import cv2 # Load an color image img_orig = cv2.imread(fname, cv2.IMREAD_UNCHANGED) img = cv2.cvtColor(img_orig, cv2.COLOR_BGR2RGB) height, width, _ = img.shape HSV_lower=[21, 67, 230] HSV_upper=[164, 210, 254] # HSVでの色抽…

【python3, numpy】バイナリ形式で保存してデータ読み込みの時短

久しぶりにコードを書いてて、numpyのarrayをバイナリ保存方法の記事を探してみたが、書いていない! こんなに頻繁に使っているのに・・・ ■ 参考 : NumPy配列ndarrayをバイナリファイル(npy, npz)で保存 aaaというarrayがあるとして、以下のように読み書…

【python3】argparseを使って引数をオプションで管理する

argparse、とても便利。■ 参考 : argparse --- コマンドラインオプション、引数、サブコマンドのパーサーとりあえず、ここを一通り読めば大体わかる・・・・日本語だし ■ 参考 : argparse コピペですぐに使いたい時向けのメモ import argparse parser = argp…

【matplotlib】matplotlib.colorsのmcolors.CSS4_COLORS (148色)を使いたい

■ 過去記事 : List of named colorsとかmatplotlibのドキュメントで、148色の名前とかが表示されてるが、全然使い方が書いていない・・・・ import matplotlib.colors as mcolors import matplotlib.pyplot as plt plt.plot(x, y, color=mcolors.CSS4_COLORS…

【matplotlib】で使える色の名前一覧

ただのメモ ■ 参考 : color example code: named_colors.py ランキング参加中です ↓クリックしていただけると嬉しいです〜ランキング参加中Python ランキング参加中HTML ランキング参加中Mac

【python3.5↑】辞書型の連結

■ 参考 : [python] 辞書の結合 python3.5以降なら d1 = {'one':1, 'two':2} d2 = {'two':'ii', 'three':'iii'} d3 = {'three':'III', 'four':'IV'} d4 = {**d1, **d2, **d3} python3.9以降なら という演算子で、2つの辞書型を連結できるらしい ランキング参…

HTCondorのデーモンが自動起動になっていなかったので修正した【Debian】

condor_qとか打つと次のようなメッセージが表示された Extra Info: You probably saw this error because the condor_schedd is not running on the machine you are trying to query. If the condor_schedd is not running, the Condor system will not be …

【matplotlib, python3】legendの位置を枠外にしたい + 画像からはみ出ないようにしたい

plt.plot(x, y, label="hoge") plt.legend(loc="upper right") とかやると、右上にlegendが表示される legen()でlocを指定しないとクッソ計算時間が掛かるので、位置は固定した方が良い・・・いや、マジで 枠外にlegenを置く方法もググったら色々と出てくる …

【matplotlib, python3】プロットの左のlabelとticksの色を変えたい

import matplotlib.pyplot as pltfig = plt.figure() ax = fig.add_subplot(111)ax.plot(range(10)) ax.set_xlabel('X-axis') ax.set_ylabel('Y-axis', color="red")ax.tick_params(axis='y', colors='red') plt.show()labelの色は後からでも変えられるax.se…

【conda】ある仮想環境に入った時に特定のコマンドやaliasを設定する方法

ある仮想環境に入った時に特定のコマンドやaliasを設定する方法 ■ 参考 : Conda環境をアクティベイトしたときに特定の処理を実行させる方法 ~/anaconda3/envs/環境名/etc/conda/activate.d ~/anaconda3/envs/環境名/etc/conda/deactivate.dに書けばいいっぽ…

【Numpy】すべての要素が0かどうかの判定してエラー処理

dataはnumpyのndarray if np.all(data == 0): print("caution : all values are zero")</div>

【python3】リストのcopyを使う(コピー元のリストも同時に修正されてしまって困った)

pythonでリストのコピーをしてしまいハマったのでメモpythonの変数にはミュータブルとイミュータブルがある ミュータブル(mutable) : あとから変更できる、リスト、辞書型とか イミュータブル(immutable) : あとから変更できない、それ以外(bool, int, float…