图像处理
-
导入图片
导入io模块,读取文件所在位置,将生成的图像数据赋给变量img,显示图像
from skimage import ioimg=io.imread('D:\工坊\图像处理\十个勤天2.png')io.imshow(img)
运行结果:
-
将图片进行灰度处理
from skimage import ioimg=io.imread('D:\工坊\图像处理\十个勤天2.png',as_gray=True)io.imshow(img)
运行结果:
-
从库中导入图片
① 导入page
from skimage import io,dataimg=data.page()io.imshow(img)
运行结果:
② 导入chelsea
from skimage import io,dataimg=data.chelsea()io.imshow(img)
运行结果:
-
打印图片路径
from skimage import data_dir,data,ioimg1=data.chelsea()img=io.imread(data_dir+'/chelsea.png')from skimage import data_dirprint(data_dir)
运行结果:
-
将图片另存为一个新的图片
frossssm skimage import io,dataimg=data.page()io.imshow(img)io.imsave('D:\工坊\图像处理/book.jpg', img)
运行代码:
保存:
-
显示图片的信息
from skimage import io,dataimg=io.imread('D:\工坊\图像处理\十个勤天2.png')io.imshow(img)print(type(img))# 显示类型print(img.shape)# 显示尺寸print(img.shape[0])# 图片宽度print(img.shape[1])# 图片高度print(img.shape[2])# 图片通道个数print(img.size)# 显示总像素个数print(img.max())# 最大像素值print(img.min())# 最小像素值print(img.mean())# 像素平均值
运行结果:
-
给图片添加新的名字
from skimage import ioimport os# 照片所在的文件夹路径path = 'D:\工坊\图像处理'# 获取文件夹内所有文件的名字names = os.listdir(path)# 遍历文件名,确保只处理图片文件for file_name in names:# 检查文件扩展名,只处理图片文件if file_name.lower().endswith(('.png', '.jpg', '.jpeg')):# 构建完整的文件路径photo_path = os.path.join(path, file_name)# 读取图片img = io.imread(photo_path)# 构建新的文件名和保存路径new_file_name = f'{os.path.splitext(file_name)[0]}_zdzq.png'new_photo_path = os.path.join(path, new_file_name)# 保存图片io.imsave(new_photo_path, img)
运行代码:
运行结果:
-
对图片进行裁剪
imgg =io.imread(r'D:\工坊\图像处理\十个勤天1.png')io.imshow(imgg)print(imgg.ndim)
运行结果:
-
Rgb通道
使用io.imshow(b)函数来显示这个提取的通道数据。(通道:R(red)、G(green)、B(blue))
①R(red)
②G(green)
③B(blue)
-
为图片添加噪点
from skimage import io,dataimport numpy as npimg = io.imread(r"D:\工坊\图像处理\十个勤天2.png")row,col,dim = img.shapefor i in range(6000):x = np.random.randint(0,row)y = np.random.randint(0,col)img[x,y,:]=255io.imshow(img)io.imsave("D:\工坊\图像处理\十个勤天3.png",img)
运行结果: