Similitud de imagen
_
Resumen
Cuando usé un software para limpiar mi teléfono hoy, vi una característica mejor: eliminar imágenes similares. El software reconoce las imágenes similares en el álbum, elimina las imágenes similares y libera el almacenamiento del teléfono.
Verifiqué el algoritmo básico de implementación de esta función en Internet. Hay muchos algoritmos para encontrar la similitud de la imagen. Los más comunes son el algoritmo de hash medio, el algoritmo de percepción de diferencias, el algoritmo de hash perceptual, el histograma de un solo canal, etc. Hay implementaciones específicas en Internet. Algoritmo, aquí solo demuestro un histograma de un solo canal.
Todas las imágenes mencionadas en este tweet fueron tomadas en Wuhan. Bendice a Wuhan, bendice a Hubei y bendice a China.
Descripción del proyecto
Importe una imagen conocida, calcule la similitud entre cada imagen y la imagen conocida y genere la similitud.
La estrategia de cálculo específica es: importar la imagen, calcular el histograma de la imagen, normalizar la imagen, usar compareHist () para comparar la similitud.
Finalmente, se imprime la similitud y luego se emite el valor del histograma. El eje x de la imagen se refiere al cambio de píxeles entre 0 y 255 de la imagen, y el eje y se refiere a la proporción de 0-255 píxeles.
_Project
realización
1. Importar imágenes
# 读取函数,用来读取文件夹中的所有函数,输入参数是文件名
def read_directory(directory_name):
for filename in os.listdir(directory_name):
strDic = directory_name + "//" + filename
imageList.append(strDic)
2. Procesamiento de imágenes
# 读取函数,用来读取文件夹中的所有函数,输入参数是文件名
def read_directory(directory_name):
for filename in os.listdir(directory_name):
strDic = directory_name + "//" + filename
imageList.append(strDic)
3. Imprime el resultado
for i in range(0, len(similar)):
print(similar[i])
lab = 'img' + str(i)
plt.plot(pilex[i], label=lab)
_
Visualización de resultados
1. Resultados de similitud
2. Imágenes similares (similitud 0,89)
3. Pantalla de histograma