Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

ImageMagickで有り無し判定

shuzo-kino.hateblo.jp
では色の判定を使いましたが……元画像との差分のあり。

比較画像

まず基礎となる何もない部分。微妙な木目があり、しかもカメラに対して斜め
f:id:shuzo_kino:20211118165217p:plain

対象となるアリ判定の画像
カギが端っこにおかれています
f:id:shuzo_kino:20211118165330p:plain

ナシ判定用の素の画像
動かしてこそいないものの、光源やらが微妙に違う
f:id:shuzo_kino:20211118165428p:plain

比較アルゴリズム

$ compare -compose Src base01.jpg base2.jpg - | feh -

f:id:shuzo_kino:20211118165746p:plain

$ compare -metric AE -fuzz 25% -compose Src base01.jpg base2.jpg - | feh -

f:id:shuzo_kino:20211118165638p:plain

参考にナシ版

$ compare -metric AE -fuzz 25% -compose Src base01.jpg base3.jpg - | feh -

f:id:shuzo_kino:20211118165929p:plain

$ compare -metric AE -fuzz 25% -compose Src base01.jpg base3.jpg - | feh -

フィルタをかけると見事に真っ白
f:id:shuzo_kino:20211118170025p:plain


f:id:shuzo_kino:20211118174747p:plain
数字を弄る

$ compare -metric AE -fuzz 5% -compose Src base01.jpg base04.j
pg - | convert - $(cat imagemagick.config) - | feh -

f:id:shuzo_kino:20211118174714p:plain

流石に白色は無理

判定する

ある場合は数字がでてくる

$ compare -metric AE -fuzz 25% -compose Src base01.jpg base02.jpg log:
32713

一方、ない倍は

$ compare -metric AE -fuzz 25% -compose Src base01.jpg base03.jpg log:
0

特徴点の抽出も可能

$ compare -metric AE -fuzz 25% -compose Src base01.jpg base02.jpg - | convert - $(cat imagemagick.config) log:
32713Objects (id: bounding-box centroid area mean-color):
  0: 640x480+0+0 346.0,229.9 272764 srgb(0,0,0)
  1: 223x218+0+210 110.0,315.8 34436 srgb(255,255,255)

この時の設定ファイルはこんな塩梅

$ cat imagemagick.config
-alpha off -colorspace gray -negate -threshold 60% -define connected-components:verbose=true -define connected-components:area-threshold=1500 -connected-components 4 -auto-level

画像はこう。
素晴らしいですね。
f:id:shuzo_kino:20211118173818p:plain