Prerrequisitos: Python OpenCV
Supongamos que tenemos dos imágenes de datos y una imagen de prueba. Averigüemos qué imagen de datos es más similar a la imagen de prueba usando python y la biblioteca OpenCV en Python.
Primero carguemos la imagen y busquemos el histograma de imágenes.
Importando biblioteca
import cv2
Importación de datos de imagen
image = cv2.imread('test.jpg')
Conversión a imagen gris
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Encontrar histograma
histogram = cv2.calcHist([gray_image], [0], None, [256], [0, 256])
Ejemplo:
Imágenes utilizadas:
data1.jpg
datos2.jpg
prueba.jpg
Python3
import cv2 # test image image = cv2.imread('cat.jpg') gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) histogram = cv2.calcHist([gray_image], [0], None, [256], [0, 256]) # data1 image image = cv2.imread('cat.jpeg') gray_image1 = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) histogram1 = cv2.calcHist([gray_image1], [0], None, [256], [0, 256]) # data2 image image = cv2.imread('food.jpeg') gray_image2 = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) histogram2 = cv2.calcHist([gray_image2], [0], None, [256], [0, 256]) c1, c2 = 0, 0 # Euclidean Distance between data1 and test i = 0 while i<len(histogram) and i<len(histogram1): c1+=(histogram[i]-histogram1[i])**2 i+= 1 c1 = c1**(1 / 2) # Euclidean Distance between data2 and test i = 0 while i<len(histogram) and i<len(histogram2): c2+=(histogram[i]-histogram2[i])**2 i+= 1 c2 = c2**(1 / 2) if(c1<c2): print("data1.jpg is more similar to test.jpg as compare to data2.jpg") else: print("data2.jpg is more similar to test.jpg as compare to data1.jpg")
Producción :
data1.jpg is more similar to test.jpg as compare to data2.jpg
Publicación traducida automáticamente
Artículo escrito por iamjpsonkar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA