图像处理
-
导入图片
导入io模块,读取文件所在位置,将生成的图像数据赋给变量img,显示图像
from skimage import io
img=io.imread('D:\工坊\图像处理\十个勤天2.png')
io.imshow(img)
运行结果:
-
将图片进行灰度处理
from skimage import io
img=io.imread('D:\工坊\图像处理\十个勤天2.png',as_gray=True)
io.imshow(img)
运行结果:
-
从库中导入图片
① 导入page
from skimage import io,data
img=data.page()
io.imshow(img)
运行结果:
② 导入chelsea
from skimage import io,data
img=data.chelsea()
io.imshow(img)
运行结果:
-
打印图片路径
from skimage import data_dir,data,io
img1=data.chelsea()
img=io.imread(data_dir+'/chelsea.png')
from skimage import data_dir
print(data_dir)
运行结果:
-
将图片另存为一个新的图片
frossssm skimage import io,data
img=data.page()
io.imshow(img)
io.imsave('D:\工坊\图像处理/book.jpg', img)
运行代码:
保存:
-
显示图片的信息
from skimage import io,data
img=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 io
import 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,data
import numpy as np
img = io.imread(r"D:\工坊\图像处理\十个勤天2.png")
row,col,dim = img.shape
for i in range(6000):
x = np.random.randint(0,row)
y = np.random.randint(0,col)
img[x,y,:]=255
io.imshow(img)
io.imsave("D:\工坊\图像处理\十个勤天3.png",img)
运行结果: