diff --git a/0416+2509165015/1.py b/0416+2509165015/1.py new file mode 100644 index 0000000..920dcff --- /dev/null +++ b/0416+2509165015/1.py @@ -0,0 +1,17 @@ +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("\n1. 变暗20后:") +print(image_dark) +image_crop = image[0:2, 0:2] +print("\n2. 裁剪左上角2×2后:") +print(image_crop) +image_flip = np.fliplr(image) +print("\n3. 水平翻转后:") +print(image_flip) \ No newline at end of file diff --git a/0416+2509165015/2.py b/0416+2509165015/2.py new file mode 100644 index 0000000..826c183 --- /dev/null +++ b/0416+2509165015/2.py @@ -0,0 +1,16 @@ +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) +white_count = np.sum(img == 255) +black_count = np.sum(img == 0) +print(f"1. 白色像素(255)数量:{white_count},黑色像素(0)数量:{black_count}") +img_flip = np.fliplr(img) +print("\n2. 水平翻转后:") +print(img_flip) +img_rot90 = np.flipud(img.T) +print("\n3. 逆时针旋转90度后:") +print(img_rot90) \ No newline at end of file diff --git a/0416+2509165015/3.py b/0416+2509165015/3.py new file mode 100644 index 0000000..a4eba0c --- /dev/null +++ b/0416+2509165015/3.py @@ -0,0 +1,11 @@ +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) +euclidean_dist = np.linalg.norm(vector1 - vector2) +print(f"\n1. 欧几里得距离:{euclidean_dist:.4f}") +cos_similarity = np.dot(vector1, vector2) / (np.linalg.norm(vector1) * np.linalg.norm(vector2)) +print(f"2. 余弦相似度:{cos_similarity:.4f}") \ No newline at end of file diff --git a/0416+2509165015/4.py b/0416+2509165015/4.py new file mode 100644 index 0000000..9463dfd --- /dev/null +++ b/0416+2509165015/4.py @@ -0,0 +1,17 @@ +import numpy as np +corpus = [ + "我 喜欢 编程", + "我 喜欢 学习 Python", + "编程 是 有趣 的" +] +vocab = sorted(list(set(" ".join(corpus).split()))) +print("词汇表:", vocab) +def text_to_vector(text, vocab): + words = text.split() + vector = np.zeros(len(vocab), dtype=int) + for i, word in enumerate(vocab): + vector[i] = words.count(word) + return vector +vectors = np.array([text_to_vector(text, vocab) for text in corpus]) +print("\n文本向量化结果:") +print(vectors) \ No newline at end of file