Python - Obrázok Rozdiel Skóre

0

Otázka

To, čo by pythonic spôsob bodovania rozdiely medzi dva obrázky pod? (napríklad, kvantifikovať, že druhý obrázok je 25% iné ako prvé)

OpenCV sa zdá, že pop-up veľa diskusií o obraz porovnanie ako v tejto diskusii -> Kontrola obrázky pre podobnosť s OpenCV Avšak, ja neverím, že robí histogram porovnanie bude tu pracovať, pretože hodnoty, ktoré sú primárne čierna a biela.

Ako by ste prístup problém, ako je táto?

Original

Different

image python
2021-11-23 19:30:50
1

Najlepšiu odpoveď

1

Našiel som odpoveď, že pracoval pre mňa, tak som sa chcela podeliť to v prípade, že niekto má podobnú otázku. Kód porovnáva pixelov dva obrázky a nájde rozdiely. Rovnaké pixelov bude mať hodnotu 0. Vediac, môžeme použiť numpy nájsť non-zero pixelov použiť číslo, ak chcete vypočítať rozdiel skóre.

môžete použiť tento kód

import cv2
import numpy as np

img1 = cv2.imread("16x16_orig.png", 0)

img2 = cv2.imread("16x16_dif.png", 0)

#--- take the absolute difference of the images ---
res = cv2.absdiff(img1, img2)
print(res)


#--- convert the result to integer type ---
res = res.astype(np.uint8)

print(np.count_nonzero(res))

#--- find percentage difference based on number of pixels that are not zero ---
percentage = (np.count_nonzero(res) * 100)/ res.size
print(percentage)

pomocou dva obrázky pod vráti skóre 50%, čo je to, čo očakávame.

Pôvodný Obrázok Original Image

rôzne Different Image

po tom, čo sme si absdiff, výsledné pole vyzerá takto:

[[  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0]
 [207 207 207 207 207 207 207 207 207 207 207 207 207 207 207 207]
 [207 207 207 207 207 207 207 207 207 207 207 207 207 207 207 207]
 [207 207 207 207 207 207 207 207 207 207 207 207 207 207 207 207]
 [207 207 207 207 207 207 207 207 207 207 207 207 207 207 207 207]
 [207 207 207 207 207 207 207 207 207 207 207 207 207 207 207 207]
 [207 207 207 207 207 207 207 207 207 207 207 207 207 207 207 207]
 [207 207 207 207 207 207 207 207 207 207 207 207 207 207 207 207]
 [207 207 207 207 207 207 207 207 207 207 207 207 207 207 207 207]]

Je dôležité poznamenať, že obrázky, ktoré chcete porovnať bude musieť byť rovnakej veľkosti.

Pre tých, ktorí sú zvedaví na obrázky v pôvodnej otázke. Výsledkom bol 2.56% rozdiel s 1292 non nula pixelov

2021-11-25 14:15:50

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................