图像处理

发布于:2024-05-07 ⋅ 阅读:(27) ⋅ 点赞:(0)

图像处理

  • 导入图片

导入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)

运行结果:

  1. 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)

运行结果:

 

 如果想继续学习,请移步下一个blog!!!