プログラムの機能
・指定した画像ファイルを2つ比較して、一致しない画素値の総数を出力する。
したいこと
・ファルダ内の画像を2つずつ比較して、一致しない画素値の総数を一気に出力する。
例えば、
①376_OUT.jpgと377_OUT.jpgを比較して、一致しない画素値の総数を出力
②377_OUT.jpgと378_OUT.jpgを比較して、一致しない画素値の総数を出力
・・・
これをファルダ内の画像ファイルすべてに適用。
for文を使いそうな気がするのですが、、、
python
1import cv2 2import numpy as np 3 4# 画像を比較し、一致していない箇所を表示する 5 6# 元画像 7# 単一画像 8img_original = cv2.imread("a/376_OUT.jpg") 9 10#マルチスケール画像 11#r, img_original = cv2.imreadmulti('a.tif', [], cv2.IMREAD_ANYCOLOR) 12 13 14 15# 比較対象画像(単一画像) 16img_comparison1 = cv2.imread("a/377_OUT.jpg") 17#マルチスケール画像 18#r, img_comparison1 = cv2.imreadmulti('a.tif', [], cv2.IMREAD_ANYCOLOR) 19 20# 比較対象画像2枚目(違う画像) 21#r, img_comparison2 = cv2.imreadmulti('b.tif', [], cv2.IMREAD_ANYCOLOR) 22 23#比較画像の画素値が一致しない総数を出力 24print(sum(np.sum(img_original[i] != img_comparison1[i]) for i in range(len(img_comparison1)))) 25#print(sum(np.sum(img_original[i] != img_comparison2[i]) for i in range(len(img_comparison2)))) 26
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。