上传文件至 /
This commit is contained in:
74
260416-2509165039.py
Normal file
74
260416-2509165039.py
Normal file
@@ -0,0 +1,74 @@
|
||||
# 练习1:图像矩阵操作
|
||||
import numpy as np
|
||||
|
||||
image = np.array([
|
||||
[100, 150, 200],
|
||||
[80, 120, 180],
|
||||
[60, 90, 140]
|
||||
], dtype=np.uint8)
|
||||
|
||||
print("原图:")
|
||||
print(image)
|
||||
|
||||
image_dark = image - 20
|
||||
print("\n变暗20后的图像:")
|
||||
print(image_dark)
|
||||
|
||||
image_crop = image[0:2,0:2]
|
||||
print("\n裁剪左上角后的图像:")
|
||||
print(image_crop)
|
||||
|
||||
image_flip = np.fliplr(image)
|
||||
print("\n水平翻转后的图像:")
|
||||
print(image_flip)
|
||||
|
||||
|
||||
|
||||
# 练习2:看图写代码
|
||||
import numpy as np
|
||||
|
||||
img = np.array([
|
||||
[255, 255, 0, 0 ],
|
||||
[255, 255, 0, 0 ],
|
||||
[0, 0, 255, 255],
|
||||
[0, 0, 255, 255]
|
||||
], dtype=np.uint8)
|
||||
|
||||
print("原始图像:")
|
||||
print(img)
|
||||
|
||||
white_pixel_count = np.sum(img == 255)
|
||||
black_pixel_count = np.sum(img == 0)
|
||||
print(f"\n白色像素(255)的数量:{white_pixel_count}")
|
||||
print(f"黑色像素(0)的数量:{black_pixel_count}")
|
||||
|
||||
flipped_img_horizontal = img[:,::-1]
|
||||
print("\n水平翻转后的图像:")
|
||||
print(flipped_img_horizontal)
|
||||
|
||||
rotated_img_ccw = img.T[:,::-1]
|
||||
print("\n逆时针旋转90度后的图像:")
|
||||
print(rotated_img_ccw)
|
||||
|
||||
|
||||
|
||||
|
||||
# 练习3:特征向量计算
|
||||
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]])
|
||||
|
||||
# 补全代码:将特征图展平为向量
|
||||
vector1 = feature_map1.flatten() # 展平
|
||||
vector2 = feature_map2.flatten() # 展平
|
||||
|
||||
print("vector1:", vector1)
|
||||
print("vector2:", vector2)
|
||||
|
||||
euclidean_distance = np.linalg.norm(vector1 - vector2)
|
||||
print("\n欧几里得距离:",euclidean_distance)
|
||||
|
||||
cosine_similarity = np.dot(vector1,vector2) / (np.linalg.norm(vector1) * np.linalg.norm(vector2))
|
||||
print("余弦相似度:",cosine_similarity)
|
||||
Reference in New Issue
Block a user