顺义广州网站建设,律师个人网站建设,淘客优惠券 网站建设,上海专业网站建站品牌Day 1#xff1a;Python基础Numpy和OpenCV入门 Python基础 变量与数据类型、函数与类的定义、列表与字典操作文件读写操作#xff08;读写图像和数据文件#xff09; 练习任务#xff1a;写一个Python脚本#xff0c;读取一个图像并保存灰度图像。 import cv2
img cv2.im…Day 1Python基础Numpy和OpenCV入门 Python基础 变量与数据类型、函数与类的定义、列表与字典操作文件读写操作读写图像和数据文件 练习任务写一个Python脚本读取一个图像并保存灰度图像。 import cv2
img cv2.imread(image.jpg)
gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imwrite(gray_image.jpg, gray) Numpy基础 数组创建与索引矩阵运算矩阵乘法、转置、逆矩阵计算 练习任务利用Numpy生成一个随机矩阵计算其特征值和特征向量。 读取一个图像并保存灰度图像。
# 练习任务写一个Python脚本读取一个图像并保存灰度图像。
# 1. 读取图像
# 2. 将图像转换为灰度图像
# 3. 保存灰度图像
# 提示使用OpenCV库
# 4. 保存灰度图像
# 提示使用OpenCV库
# 5. 显示原始图像和灰度图像
# 提示使用matplotlib库
# 6. 保存原始图像和灰度图像
# 提示使用matplotlib库import cv2
import matplotlib.pyplot as plt
import numpy as np# 读取图像
img cv2.imread(cat.jpg)# 将图像转换为灰度图像
gray_img cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 保存灰度图像
cv2.imwrite(gray_cat.jpg, gray_img)# 显示原始图像和灰度图像
plt.subplot(1, 2, 1)
plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
plt.title(Original Image)
plt.axis(off)plt.subplot(1, 2, 2)
plt.imshow(gray_img, cmapgray)
plt.title(Gray Image)
plt.axis(off)plt.show()# 保存原始图像和灰度图像
plt.imsave(original_cat.jpg, cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
plt.imsave(gray_cat.jpg, gray_img, cmapgray)
Numpy基础
# 20250210
#Numpy基础
# - 数组创建与索引
# - 矩阵运算矩阵乘法、转置、逆矩阵计算# 练习任务利用Numpy生成一个随机矩阵计算其特征值和特征向量。
# 1. 生成一个3x3的随机矩阵
# 2. 计算矩阵的特征值和特征向量
# 3. 打印特征值和特征向量
# 提示使用Numpy库import numpy as np# 创建一个包含5个元素的一维数组
arr1 np.array([1, 2, 3, 4, 5])
print(arr1)
# [1 2 3 4 5]# 创建一个包含3x3个元素的二维数组
arr2 np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr2)
# [[1 2 3]
# [4 5 6]
# [7 8 9]]# 创建一个包含3x3个元素的随机矩阵
arr3 np.random.rand(3, 3)
print(arr3)
# [[0.43466011 0.11696293 0.08589901]
# [0.43506184 0.96955457 0.94011666]
# [0.0907567 0.71107309 0.2533223 ]]print(arr1[0]) # 访问数组的第一个元素
print(arr2[1, 2]) # 访问第二行第三列的元素
print(arr3[0, 0]) # 访问随机矩阵的第一个元素
# 1
# 6
# 0.434660114961665# 矩阵运算矩阵乘法、转置、逆矩阵计算# 创建两个矩阵
A np.array([[1, 2], [3, 4]])
B np.array([[5, 6], [7, 8]])# 矩阵乘法
result np.dot(A, B)
print(result)
# [[19 22]
# [43 50]]# 矩阵转置
A_transpose A.T
print(A_transpose)
# [[1 3]
# [2 4]]# 逆矩阵计算
A_inv np.linalg.inv(A)
print(A_inv)
# [[-2. 1. ]
# [ 1.5 -0.5]]# 计算矩阵的特征值和特征向量
A np.array([[4, -2], [1, 1]])
eigenvalues, eigenvectors np.linalg.eig(A)
print(特征值, eigenvalues)
print(特征向量, eigenvectors)
# 特征值 [3. 2.]
# 特征向量
# [[0.89442719 0.70710678]
# [-0.4472136 0.70710678]]# 总结
# Numpy数组创建与索引通过 np.array() 创建数组可以进行索引操作获取特定的元素。
# 矩阵运算
# 矩阵乘法使用 np.dot() 或
# 矩阵转置使用 .T
# 矩阵的逆使用 np.linalg.inv()。
# 特征值与特征向量通过 np.linalg.eig() 可以计算矩阵的特征值和特征向量。