作业:部分numpy及PIL操作

本文介绍了numpy数组的创建、属性和部分运算,以及PIL库的准备工作和基本操作,涵盖了图像处理的基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一.numpy的部分操作

1.创建数组

import numpy as np

print(np.empty((3,4)))#创建一个3行4列的元素未初始化空矩阵

print(np.zeros(8))#一个一维的全零矩阵
print(np.zeros((3,4)))#一个3行4列的全零矩阵

print(np.ones(8))#一个一维的全1矩阵
print(np.ones((3,4)))#一个3行4列的全1矩阵

print(np.identity(5))#或
print(np.eye(5))#一个5阶的单位矩阵

print(np.diag([1,2,3,4]))#一个对角线元素确定的对角阵

print(np.full([3,3],6))#一个3行3列元素全为6的矩阵

print(np.arange(10,20,2))#一个从10到20的步长为2的矩阵

print(np.linspace(10,20,5))#一个从10到20的矩阵(切为5片)

print(np.tri(3,4))#下三角矩阵

print(np.vander(3,4,5))#范德蒙

2.数组的属性

import numpy as np

a=np.array([1,2,3,4,5,6,7,8,9])
print(a)
print(a.ndim)#维度

print(a.T)#装置

print(a.size)#个数

print(a.dtype)#数据类型

print(a.shape)#大小

b=a.reshape(3,3)#重新调整
print(b)
print(b.shape[1])#列的个数

3.数组的部分运算

import numpy as np

a=np.array([[1,2,3],[4,5,6],[7,8,9]])
b=a.copy()#复制
b=a.flatten()#降维
b=a.max()#找最大值
b=a.min()#找最小值
b=a.ptp()#对所有数据计算求最大值和最小值的差值
b=a.sum()#求和
b=a.mean()#求均值
b=a.var()#求方差
b=a.std()#求标准差
b=a.prod()#计算所有元素的乘积
b=a.all()#判断是否全为不为空,0,False。如果全不为空,则返回True;否则返回False。
b=a.any()#如果都为空、0、false,则返回false,否则返回true。
print(b)

二.PIL的部分操作

1.准备工作

from PIL import Image
#基本

img=Image.open("D:/ceshi/dog.jpg")#打开本地图片
img_mode=img.mode#查看图片模式
#print(img_mode)
img_size=img.size#查看图片大小
#print(img_size)
img_get=img.getpixel((0,0))#获取图片像素点
#print(img_get)
img.show()#展示img这张图片


new=Image.new('L',img.size,255)#创建新图片
width,height=img.size#获取图片宽度和高度
img=img.convert("RGBA")#将彩色图转换为灰度图
'''
"L"为黑白模式
"RGB"   3*8位像素,真彩
"RGBA"  4*8位像素,真彩+透明通道
"YCbCr" 3*8位像素,彩色视频格式
'''

2.一些简单操作

reimg=img.resize((480,300))
#reimg.show()
bands=img.split()#分离图片通道
#print(bands)#查看一下到底是什么呢
r=bands[0]
g=bands[1]#赋值
b=bands[2]#分离操作
#r.show()
#g.show()
#b.show()
#分别展示观察发现亮度不同
rimg=Image.merge("RGB",(r,g,b))#合并重组操作
#rimg.show()

img2=Image.open("C:/Users/15990/Desktop/chapter5/cat.gif")
#img2.show()
print(img2.size)
reimg.paste(img2,(200,0))#将图片粘贴到另一张图片上(位于(200,0)上)
reimg.show()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值