24 lines
800 B
Python
24 lines
800 B
Python
import numpy as np
|
|
|
|
# 假设这是从图像中提取的2个特征图
|
|
feature_map1 = np.array([[1, 0, 1], [0, 1, 0], [1, 0, 1]])
|
|
feature_map2 = np.array([[1, 1, 1], [1, 0, 0], [1, 0, 0]])
|
|
|
|
# 1) 全代码:将特征图展平为向量
|
|
vector1 = feature_map1.flatten() # 展平
|
|
vector2 = feature_map2.flatten() # 展平
|
|
|
|
print("vector1:", vector1)
|
|
print("vector2:", vector2)
|
|
print("-" * 40)
|
|
|
|
# 1. 计算 vector1 和 vector2 的欧几里得距离
|
|
euclidean_dist = np.linalg.norm(vector1 - vector2)
|
|
print(f"欧几里得距离: {euclidean_dist:.4f}")
|
|
|
|
# 2. 计算 vector1 和 vector2 的余弦相似度
|
|
dot_product = np.dot(vector1, vector2)
|
|
norm_a = np.linalg.norm(vector1)
|
|
norm_b = np.linalg.norm(vector2)
|
|
cos_similarity = dot_product / (norm_a * norm_b)
|
|
print(f"余弦相似度: {cos_similarity:.4f}") |