图像处理

embedded/2024/9/25 6:18:42/

图像处理

  • 导入图片

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

运行结果:

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

运行结果:

 

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


http://www.ppmy.cn/embedded/35171.html

相关文章

MATLAB 变换

MATLAB 变换(Transforms) MATLAB提供了用于处理诸如Laplace和Fourier变换之类的变换的命令。转换在科学和工程中用作简化分析和从另一个角度查看数据的工具。 例如,傅立叶变换允许我们将表示为时间函数的信号转换为频率函数。拉普拉斯变换使…

【小菜鸟之---Ansible基础详解】

文章目录 1 【Ansible简介】1.1简介1.2 Ansible 特点1.3 Ansible的工作机制1.4Ansible任务工作模式 2【安装部署】2.1安装命令2.2 Ansible配置文件2.3主机清单配置2.4 基于ssh免密登录2.5常用命令 3【Ansible常用模块】3.1 ping模块3.2 shell模块3.3 command模块3.4 copy模块3.…

PHP基础【介绍,注释,更改编码,赋值,数据类型】

源码 <?php //单行注释 /* 多行注释 *///通过header()函数发送http头的请求信息用来指定页面的字符集编码 header("Content-type:text/html;Charsetutf-8"); //告诉浏览器&#xff0c;当前页面的内容类型是HTML&#xff0c;并且页面内容使用的是UTF-8编码。//ph…

大厂面试sql手撕题目总结

文章目录 1. 常用函数1. 日期函数 1. 常用函数 1. 日期函数 常用日期函数&#xff1a; -- 返回当前日期 select curdate(); # 2024-05-06 -- 返回当前时间 select curtime(); # 21:41:58 -- 返回当前日期加时间 select now(); # 2024-05-06 21:40:53 -- 获取指定date的年…

[AIGC] MVCC 是怎么实现的

InnoDB 实现的MVCC&#xff0c;是通过 ReadView Undo Log 实现的&#xff0c;Undo Log 保存了历史快照&#xff0c;ReadView可见性规则帮助判断当前版本的数据是否可见。 具体操作时&#xff1a; SELECT InnoDB会根据以下两个条件检查每行记录&#xff1a; a. InnoDB只查找版本…

MySQL-基础篇

MySQL基础篇 MySQL概述 MySQL安装与启动 配置MySQL环境变量 MySQL数据库 SQL DDL 数据库操作 表操作 表操作-修改 注意&#xff1a;在删除表时&#xff0c;表中的全部数据也会被删除。 datagrip DML DQL DQL-基本查询 在实际开发过程中&#xff0c;尽量不要写se…

GO日志打印添加goroutineid

今天想给日志添加一个前缀&#xff0c;以区分不同goroutine的日志&#xff0c;方便做并发问题的排查&#xff0c;做日志跟踪。 为了解决goroutineid&#xff0c;网上各出奇招&#xff0c;有的使用runtime包未公开的方法获取&#xff1a; func Goid() int {defer func() {if e…

FineReport高频面试题及参考答案

FineReport是一款利用什么语言开发的报表工具&#xff1f; FineReport是一款基于Java语言开发的报表工具。Java是一种广泛使用的编程语言&#xff0c;特别适合于跨平台的软件开发。FineReport利用Java语言的诸多优势&#xff0c;如稳定性、安全性、可移植性和强大的网络功能&a…