python

pythonでraw現像 - rawpy覚書

rawpy::postprocessの引数についていくつか。 素材はRAWSAMPLES.CH - Sonyから借用した。auto_bright_thr: highlight_modeが0(デフォルト)か2 のときだけ有効。 1、3〜9の場合、自動輝度調整が無効になってしまうようで補正は自前のものが必要。gamma: 第1引…

背景ムラの除去 - 2値化の前処理として

照明にムラがあるような画像の2値化は大域的な閾値では処理しきれない。 原画像 大津の法を適用 適応的閾値処理(adaptiveThreshold)にするか、あらかじめムラを取り除いておく。ムラを取り除くには 不均一な明るさの補正 - MATLAB & Simulink - MathWorks 日…

Numba - Python実行時コンパイラ

Numba: A High Performance Python Compiler 使い方は簡単(ということにしておく)。pip install numba などでインストールしたあと from numba import jit @jit(nopython=True) def function(): ~ 以下のコードはLBPの基本機能を書いてみたのだが遅すぎて使…

類似画像検索 - LBPヒストグラム

LBP(Local Binary Pattern)については、Local Binary Patterns with Python & OpenCV - PyImageSearchやLocal Binary Patternとその周辺(PDF)などを参照。 Pythonではscikit-imageに実装がある。 その他前回と同様。 import numpy as np import cv2 import g…

類似画像検索 - 色相ヒストグラム

色合いが似ているものを探す。 BGRをHSVに変換してHチャンネルのヒストグラムを比較。OpenCVのヒストグラム比較関数compareHistには比較方法がいくつかあるが、ここではHISTCMP_CORRELを使った。画像データは前回と同様。 import numpy as np import cv2 imp…

類似画像検索 - 知覚ハッシュ-DCT

離散コサイン変換(discrete cosine transform)の後、低周波域のみをハッシュ化する。以下、コード。ハッシュ長は144。 画像データは前回と同様Caltech101から。BACKGROUND_Googleも同様に外してある。 import numpy as np import cv2 import glob def hdiff(…

類似画像検索 - 知覚ハッシュ-BMB

類似画像検索について、いくつか。BMBハッシュ((PDF) Block Mean Value Based Image Perceptual Hashing | Bian Yang - Academia.edu)。概要を知覚ハッシュによる類似画像検索(PDF)から引用しておく。 対象となる画像をグレースケール化し、あらかじめ決めら…

画像の二値化 - トライアングル法

閾値だけが欲しい場合もある。参考はhttps://forum.image.sc/t/understanding-imagej-implementation-of-the-triangle-algorithm-for-threshold/752/10辺り。 多少冗長だが、あとで見返したときのために。 import cv2 import numpy as np def thresh_triangl…

RIPOC - 二枚の画像間の傾きと縮尺を求める

Products Using Phase-Based Image Matching(ページの下の方に日本語文章)辺りを参考にOpenCVのphaseCorrelateとwarpPolarを使って書いてみた。縮尺についてはあまり芳しくない。 入力は同一サイズの正方形であること。 def ripoc(a, b, m = None): g_a = np…

OpenCVでHDR(High Dynamic Range Imaging)

以下を参考にした。ほぼ丸写し。 高ダイナミック・レンジ — OpenCV-Python Tutorials 画像は以下から。 High-dynamic-range imaging - Wikipedia 参考にしたサイトでは3種類の手法を紹介しているがここではmertens融合だけ。リストは露光時間の長い方から並…