本文是下面视频学习后做的笔记,分享出来方便自己和大家学习观看,如果有不对的地方欢迎指正,希望能够对大家有所帮助。
视频地址:https://www.bilibili.com/video/BV1Wy4y1h7ii/?spm_id_from=333.337.search-card.all.click&vd_source=4db7c2f350467e9b824b695fb0f7e555
创建数组
# 引用并重命名未np
import numpy as np
1. 创建一个3行2列的0组成的数组
2. 获取数组的维度
3. 创建一个3行2列的1组成的数组
4. 创建一个递增数组
5. 创建一个递减数组
6. 创建一个介于某个区间等间距分布的数
7. 创建一个2行4列的随机数组
8. 指定数组元素的数据类型,默认为64位浮点值
9. 转换现有数组的数据类型
简单运算
1. 加减乘除
2. 点乘运算
3. 矩阵乘法
或
4. 求平方根
5. 三角函数运算
6. 对数和指数运算
7. 广播
数组和数的运算
数组和数组的运算
8. 取数组中最小的元素和最大的元素
9. 取数组中最小元素和最大元素所在的索引
10. 获取数组总和
11. 获取数组平均值
12. 获取数组中位数
13. 获取数组的方差
14. 获取数组的标准方差
15. 多维数组运算指定维度
16. 通过下标获取元素
17. 按照条件筛选数组元素
简单条件
切片
切片跨度
切片跨度 反向取值
图片案例
安装pillow
pip install pillow
引用
from PIL import Image
打开图片
from PIL import Image
import numpy as np
# 打开图片
im = Image.open('image.jpg')
im.show()
将图片转化为numpy数组
获取图片大小及RGB3个纬度
获取某个像素点的颜色信息
获取像素点的红色分量
# 提取红色通道的数组信息
im_r = im[:, :, 0]
# 展示图片
Image.fromarray(im_r).show()
效果如下:
将两张图片按照比例融合
from PIL import Image
import numpy as np
# 读取图片
im1 = np.array(Image.open('image.jpg'))
im2 = np.array(Image.open('image2.png'))
# 将两张图片按照比例融合
# 若图片大小不一致,融合会报错,可以使用切片将大图按照小图的尺寸进行切片,小图尺寸 407*600
# 等同于 im_blend = im1 * 0.4 + im2[:407, :600] * 0.6
im_blend = im1 * 0.4 + im2[:im1.shape[0], :im1.shape[1]] * 0.6
# 计算出的结果数组是浮点数,转换成整形,否则无法展示
im_blend = im_blend.astype(np.uint8)
# 图片展示
Image.fromarray(im_blend).show()
效果如下
使用跨度对图片进行降采样
# 图片降采样
im_downsample = im1[::10, ::10]
# 展示图片
Image.fromarray(im_downsample).show()
效果如下:
翻转图片
im_flipped = im[::-1, :, :]
Image.fromarray(im_flipped).show()
效果如下:
使用切片裁剪图片
im_cropped = im[100:250, 300:450]
Image.fromarray(im_cropped).show()
效果如下:
视频地址:https://www.bilibili.com/video/BV1Wy4y1h7ii/?spm_id_from=333.337.search-card.all.click&vd_source=4db7c2f350467e9b824b695fb0f7e555