摘要: 本文提供更多更强大的滤波方法,这些方法放在filters.rank子模块内。 这些方法需要用户自己设定滤波器的形状和大小,因此需要导入morphology模块来设定。 1、autolevel 这个词在photoshop里面翻译成自动色阶,用局部直方图来对图片进行滤波分级。 该滤波器局部地拉伸灰度像素 阅读全文
posted @ 2021-04-27 12:22  ̄□ ̄ 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 对图像进行形态学变换。变换对象一般为灰度图或二值图,功能函数放在morphology子模块内。 1、膨胀(dilation) 原理:一般对二值图像进行操作。找到像素值为1的点,将它的邻近像素点都设置成这个值。1值表示白,0值表示黑,因此膨胀操作可以扩大白色值范围,压缩黑色值范围。一般用来扩充边缘或填 阅读全文
posted @ 2021-04-27 12:20  ̄□ ̄ 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 图形包括线条、圆形、椭圆形、多边形等。 在skimage包中,绘制图形用的是draw模块,不要和绘制图像搞混了。 1、画线条 函数调用格式为: skimage.draw.line(r1,c1,r2,c2) r1,r2: 开始点的行数和结束点的行数 c1,c2: 开始点的列数和结束点的列数 返回当前绘 阅读全文
posted @ 2021-04-27 12:19  ̄□ ̄ 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 图像阈值分割是一种广泛应用的分割技术,利用图像中要提取的目标区域与其背景在灰度特性上的差异,把图像看作具有不同灰度级的两类区域(目标区域和背景区域)的组合,选取一个比较合理的阈值,以确定图像中每个像素点应该属于目标区域还是背景区域,从而产生相应的二值图像。 在skimage库中,阈值分割的功能是放在 阅读全文
posted @ 2021-04-27 12:17  ̄□ ̄ 阅读(586) 评论(0) 推荐(0) 编辑
摘要: 对图像进行滤波,可以有两种效果:一种是平滑滤波,用来抑制噪声;另一种是微分算子,可以用来检测边缘和特征提取。 skimage库中通过filters模块进行滤波操作。 1、sobel算子 sobel算子可用来检测边缘 函数格式为:skimage.filters.sobel(image, mask=No 阅读全文
posted @ 2021-04-27 12:16  ̄□ ̄ 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 在图像处理中,直方图是非常重要,也是非常有用的一个处理要素。 在skimage库中对直方图的处理,是放在exposure这个模块中。 1、计算直方图 函数:skimage.exposure.histogram(image, nbins=256) 在numpy包中,也提供了一个计算直方图的函数hist 阅读全文
posted @ 2021-04-27 12:15  ̄□ ̄ 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 图像亮度与对比度的调整,是放在skimage包的exposure模块里面 1、gamma调整 原理:I=Ig 对原图像的像素,进行幂运算,得到新的像素值。公式中的g就是gamma值。 如果gamma>1, 新图像比原图像暗 如果gamma<1,新图像比原图像亮 函数格式为:skimage.expos 阅读全文
posted @ 2021-04-27 12:14  ̄□ ̄ 阅读(1122) 评论(0) 推荐(0) 编辑
摘要: 图像的形变与缩放,使用的是skimage的transform模块,函数比较多,功能齐全。 1、改变图片尺寸resize 函数格式为: skimage.transform.resize(image, output_shape) image: 需要改变尺寸的图片 output_shape: 新的图片尺寸 阅读全文
posted @ 2021-04-27 12:13  ̄□ ̄ 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 有些时候,我们不仅要对一张图片进行处理,可能还会对一批图片处理。这时候,我们可以通过循环来执行处理,也可以调用程序自带的图片集合来处理。 图片集合函数为: skimage.io.ImageCollection(load_pattern,load_func=None) 这个函数是放在io模块内的,带两 阅读全文
posted @ 2021-04-27 12:12  ̄□ ̄ 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 实际上前面我们就已经用到了图像的绘制,如: io.imshow(img) 这一行代码的实质是利用matplotlib包对图片进行绘制,绘制成功后,返回一个matplotlib类型的数据。因此,我们也可以这样写: import matplotlib.pyplot as plt plt.imshow(i 阅读全文
posted @ 2021-04-27 12:11  ̄□ ̄ 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 一、图像数据类型及转换 在skimage中,一张图片就是一个简单的numpy数组,数组的数据类型有很多种,相互之间也可以转换。这些数据类型及取值范围如下表所示: Data typeRange uint8 0 to 255 uint16 0 to 65535 uint32 0 to 232 float 阅读全文
posted @ 2021-04-27 12:10  ̄□ ̄ 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 图片读入程序中后,是以numpy数组存在的。因此对numpy数组的一切功能,对图片也适用。对数组元素的访问,实际上就是对图片像素点的访问。 彩色图片访问方式为: img[i,j,c] i表示图片的行数,j表示图片的列数,c表示图片的通道数(RGB三通道分别对应0,1,2)。坐标是从左上角开始。 灰度 阅读全文
posted @ 2021-04-27 12:08  ̄□ ̄ 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 方法一:利用PIL中的Image函数,这个函数读取出来不是array格式 这时候需要用 np.asarray(im) 或者np.array()函数 区别是 np.array() 是深拷贝,np.asarray() 是浅拷贝 from PIL import Image import numpy as 阅读全文
posted @ 2021-04-27 11:57  ̄□ ̄ 阅读(693) 评论(0) 推荐(0) 编辑
摘要: skimage提供了io模块,顾名思义,这个模块是用来图片输入输出操作的。为了方便练习,也提供一个data模块,里面嵌套了一些示例图片,我们可以直接使用。 引入skimage模块可用: from skimage import io skimage包的全称是scikit-image SciKit (t 阅读全文
posted @ 2021-04-27 11:55  ̄□ ̄ 阅读(1167) 评论(0) 推荐(0) 编辑