我有两个大小相同的rgb图像,我想计算一个相似性指标。我想到了以欧几里得距离开始:
import scipy.spatial.distance as dist
import cv2
im1 = cv2.imread("im1.jpg")
im2 = cv2.imread("im2.jpg")
>> im1.shape
(820, 740, 3)
>> dist.euclidean(im1,im2)
ValueError: Input vector should be 1-D.
我知道
dist.euclidean期望一维数组,而
im1和
im2是3-D,但是有没有一个函数可以用于3-D数组,或者可以转换
im1和< cc>进入一维数组,以保留图像中的信息?
请您参考如下方法:
你可以试试
import scipy.spatial.distance as dist
import cv2
import numpy as np
im1 = cv2.imread("im1.jpg")
im2 = cv2.imread("im2.jpg")
dist.euclidean(im1.flatten(), im2.flatten())
