读书报告

25信计程果学号2025102803060119

  1. numpy 基础操作
    numpy是Python科学计算的核心库,提供了高效的多维数组与数值计算工具。
    import numpy as np

1. 创建数组

arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.arange(0, 10, 2)
arr3 = np.linspace(0, 1, 5)

2. 数组运算

print("数组求和:", arr1.sum())
print("数组均值:", arr1.mean())
print("矩阵乘法:\n", np.dot(arr1.reshape(5,1), arr1.reshape(1,5)))
2. scipy 基础操作
scipy基于numpy扩展了科学计算、统计、信号处理等高级功能。
from scipy import stats, integrate

1. 正态分布概率密度

x = np.linspace(-3, 3, 100)
pdf = stats.norm.pdf(x, loc=0, scale=1)

2. 数值积分

result, error = integrate.quad(lambda x: x**2, 0, 1)
print("x^2在[0,1]区间的积分结果:", result)
3. pandas 基础操作
pandas是用于结构化数据处理与分析的工具库。
import pandas as pd

创建DataFrame

data = {
"姓名": ["张三", "李四", "王五"],
"成绩": [85, 92, 78],
"班级": ["一班", "二班", "一班"]
}
df = pd.DataFrame(data)

数据筛选与统计

print("一班学生成绩:\n", df[df["班级"] == "一班"])
print("成绩平均值:", df["成绩"].mean())
4. matplotlib 基础操作
matplotlib是Python数据可视化的核心库。
import matplotlib.pyplot as plt
x = np.arange(0, 10, 0.1)
y = np.sin(x)
plt.plot(x, y, color="blue", label="sin(x)")
plt.title("正弦函数图像")
plt.legend()
plt.savefig("sin_plot.png")
plt.show()
二、图像处理应用(评分点3)

示例:图像灰度化与边缘检测

本示例结合numpy、scipy和matplotlib,实现图像灰度化、边缘检测与可视化。

实现代码
import numpy as np
import matplotlib.pyplot as plt
from scipy.ndimage import sobel
from PIL import Image

1. 读取并转换为灰度图像

img = Image.open("test.jpg").convert("L")
img_arr = np.array(img)

2. Sobel算子边缘检测

dx = sobel(img_arr, axis=0)
dy = sobel(img_arr, axis=1)
edge_img = np.hypot(dx, dy)

3. 可视化结果

plt.figure(figsize=(12, 4))
plt.subplot(131)
plt.imshow(img_arr, cmap="gray")
plt.title("原图(灰度)")
plt.axis("off")

plt.subplot(132)
plt.imshow(edge_img, cmap="gray")
plt.title("边缘检测结果")
plt.axis("off")

plt.subplot(133)
plt.hist(img_arr.flatten(), bins=50, color="gray")
plt.title("灰度直方图")
plt.savefig("image_process.png")
plt.show()
效果说明

  1. 原图转为灰度图像,便于后续处理;

  2. 使用Sobel算子提取图像边缘,突出轮廓信息;

  3. 绘制灰度直方图,直观展示图像像素分布。
    (此处可附生成的图像处理结果截图)

posted @ 2026-06-12 12:26  7_loveee  阅读(4)  评论(0)    收藏  举报