diff --git a/260416-2509165034.py b/260416-2509165034.py new file mode 100644 index 0000000..e9171f2 --- /dev/null +++ b/260416-2509165034.py @@ -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) \ No newline at end of file