文章内容如下:
1)windows下安装jupyter Lab
2)numpy
3)图像
一。windows下安装jupyter Lab
conda安装
conda install -c conda-forge jupyterlab
conda install jupyterlab(换源后)
或
pip install jupyterlab
安装完后运行
jupyter-lab
二。numpy
平时创建一个数组要用list,创建一维数组二维数组其实还是很麻烦的,numpy这个包是用来高效处理数组的,numpy创建数组一般有2中方法,分别如下:
1.用python的列表直接转换
list_c = [1,2,3,4]
my_array = np.array(list_c)"""表示将python的list转换为numpy的数组"""
np.arange(0,10)"""表示创建0到9的一维数组"""
np.ones(shape=(3,3))"""表示创建3行3列全为1的数组"""
np.ones(shape=(3,3))"""表示创建3行3列全为0的数组"""
arr = np.random.randint(0,100,10)"""表示创建0到100的随机整数,创建10个,出案件号给arr"""
arr.max()"""表示获取数组arr的最大值"""
arr.min()"""表示获取数组arr的最小值"""
arr.argmax()"""表示获取数组arr的最大值的索引"""
arr.argmin()"""表示获取数组arr的最小值的索引"""
arr.shape"""表示获取数组arr的大小"""
arr.reshape((5,2))"""表示获取数组arr转换成5x2的二维数组"""
arr[2,:]"""表示获取数组arr的第三行,取出数组中某一行或某一列这叫切片"""
arr[0:2,0:1]"""表示获取数组arr的第1、2行的第1列"""
arr[0:2,0:1] = 0"""表示获取数组arr的第1、2行的第1列全部变成0"""
三。图像
图像本质上就是数组,灰度图片就是一个二维数组,是通过亮度值来显示图片的,彩色图片本质上是一个三维数组,通过RGB三色叠加显示图片的,例如图片大小为540*480实际上指540(宽-行)*480(长-列-高),所以一行有480个像素高度,一列有540个像素宽度,通道数为3,记为(480,540,3)
计算机并不知道哪一个通道是红色,它只知道有3个表达颜色数值的通道,也就是3个灰度表达不同的颜色,所以我们处理图像时需要告诉计算机一个通道对应的是属于哪一个颜色,每一个通道本质是等同于一张灰度图
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline """notebook中有时候显示图片会出错,故加上此命令,表示内嵌显示图片"""
from PIL import Image"""导入Image模块用于读取图片"""
img = Image.open('./123.webp')
img_arr = np.asarray(img)"""将img图片改成numpy格式,因为这里的img不是numpy格式,若是则不需要次句命令"""
plt.imshow(img_arr)"""显示numpy格式的图片(图片一开始源自123.webp)"""
img_arr_copy = img_arr.copy()"""保存图片做一个备份"""
R = img_arr_copy[:,:,0]"""读取R图片,RGB三通道R排在第一位,所以是0,G排在第二位,所以是1,B排在第三位,所以是2"""
img_arr_copy[:,:,0] = 0"""表示将R通道值全改为0"""