3-1-2 衔接与拓展:从图像矩阵到文本向量
This commit is contained in:
17
0416+2509165015/1.py
Normal file
17
0416+2509165015/1.py
Normal file
@@ -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)
|
||||||
16
0416+2509165015/2.py
Normal file
16
0416+2509165015/2.py
Normal file
@@ -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)
|
||||||
11
0416+2509165015/3.py
Normal file
11
0416+2509165015/3.py
Normal file
@@ -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}")
|
||||||
17
0416+2509165015/4.py
Normal file
17
0416+2509165015/4.py
Normal file
@@ -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)
|
||||||
Reference in New Issue
Block a user