diff --git a/练习1.py b/练习1.py new file mode 100644 index 0000000..59d7744 --- /dev/null +++ b/练习1.py @@ -0,0 +1,25 @@ +import numpy as np + +image = np.array([ + [100, 150, 200], + [80, 120, 180], + [60, 90, 140] +], dtype=np.uint8) + +print("原图:") +print(image) +print() + +darkened = np.clip(image.astype(np.int16) - 20, 0, 255).astype(np.uint8) +print("变暗20后的图像:") +print(darkened) +print() + +cropped = image[0:2, 0:2] +print("裁剪左上角(2×2区域):") +print(cropped) +print() + +flipped = np.fliplr(image) +print("水平翻转后的图像:") +print(flipped) \ No newline at end of file diff --git a/练习2.py b/练习2.py new file mode 100644 index 0000000..669a90f --- /dev/null +++ b/练习2.py @@ -0,0 +1,30 @@ +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) +print() + +white_pixels = np.sum(img == 255) +black_pixels = np.sum(img == 0) + +print(f"白色像素(255)的数量:{white_pixels}") +print(f"黑色像素(0)的数量:{black_pixels}") +print() + + +flipped_horizontal = np.fliplr(img) +print("水平翻转后的图像:") +print(flipped_horizontal) +print() + +rotated_ccw = np.flipud(img.T) + +print("逆时针旋转90度后的图像:") +print(rotated_ccw) \ No newline at end of file diff --git a/练习3.py b/练习3.py new file mode 100644 index 0000000..0cbd70f --- /dev/null +++ b/练习3.py @@ -0,0 +1,23 @@ +import numpy as np + +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) +print() + +euclidean_distance = np.linalg.norm(vector1 - vector2) +print(f"欧几里得距离: {euclidean_distance:.4f}") + +dot_product = np.dot(vector1, vector2) +norm1 = np.linalg.norm(vector1) +norm2 = np.linalg.norm(vector2) +cosine_similarity = dot_product / (norm1 * norm2) +print(f"余弦相似度: {cosine_similarity:.4f}") + +cosine_distance = 1 - cosine_similarity +print(f"余弦距离: {cosine_distance:.4f}") \ No newline at end of file