Scipy.ndimage库

您所在的位置:网站首页 python图片处理模块 Scipy.ndimage库

Scipy.ndimage库

2023-07-23 05:35| 来源: 网络整理| 查看: 265

Scipy---是一个用于数学/科学/工程领域的常用软件包,可以处理插值、积分、优化、图像处理、常微分方程数值解的求解、信号处理等问题。

 

模块名

应用领域

模块名

应用领域

scipy.cluster

向量计算/Kmeans

scipy.odr

正交距离回归

scipy.constants

物理和数学常量

scipy.optimize

优化

scipy.fftpack

傅立叶变换

scipy.signal

信号处理

scipy.integrate

积分程序

scipy.sparse

稀疏矩阵

scipy.interpolate

插值

scipy.spatial

空间数据结构和算法

scipy.io

数据输入输出

scipy.special

一些特殊的数学函数

scipy.linalg

线性代数程序

scipy.stats

统计

scipy.ndimage

n维图像包

  

重点学习:Scipy.ndimage---Multi-dimensional image processing(多维图像处理包)----该包包含用于多维图像处理的各种功能。其中包括以下几个模块:

Filters:过滤器Fourier filters:傅里叶滤波器Interpolation:图像的插值、旋转以及仿射变换Measurements:图像相关信息的测量Morphology:形态学图像处理

scipy.ndimage只提供了一些基础的图像处理功能。还有一些更强大的图像处理库。例如:更大的图像处理库如下:

Opencv:它是使用C/C++开发的计算机视觉库;SimpleCV:对多个计算机视觉库进行包装,提供了一套更方便、统一的Python调用接口;scikit-image:采用Python开发的图像处理库,高速运算部分多采用Cython编写;Mahotas:采用Python和C++开发的图像处理库;

后续将针对形态学图像处理进行介绍:

一、膨胀

学习地址:https://blog.csdn.net/songchunxiao1991/article/details/88310777

二、腐蚀

学习地址:https://blog.csdn.net/songchunxiao1991/article/details/88530915

三、闭运算

scipy.ndimage.binary_closing(input, structure=None, iterations=1, output=None, origin=0, mask=None, border_value=0, brute_force=False)

描述:先膨胀后腐蚀,用法和参数描述与膨胀和腐蚀是一样的;

四、开运算

scipy.ndimage.binary_opening(input, structure=None, iterations=1, output=None, origin=0, mask=None, border_value=0, brute_force=False)

描述:先腐蚀后膨胀,用法和参数描述用法与膨胀和腐蚀是一样的;

Tip1:为二进制形态运算生成二进制结构

scipy.ndimage.generate_binary_structure(rank, connectivity)

参数:

rank:整型---np.dim返回的机构元素将应用于数组的维数;connectivity:整型---连接确定输出数组的哪些元素属于该结构,即被认为是中心元素的邻居。 距离中心的连接平方距离的元素被认为是邻居。 连接的范围可以从1(没有对角元素是邻居)到排名(所有元素都是邻居)。

Note:generate_binary_structure只能创建尺寸等于3的结构元素,即最小尺寸。 对于较大的结构元素,这是有用的,例如 对于侵蚀大型对象,可以使用iterate_structure,也可以直接创建具有numpy函数的自定义数组,例如numpy.ones。

 

五、灰度膨胀

scipy.ndimage.grey_dilation(input, size=None, footprint=None, structure=None, output=None, mode='reflect', cval=0.0, origin=0)

描述:灰度膨胀是一种数学形态学运算。 对于完整且扁平的结构元素的简单情况,可以将其视为滑动窗口上的最大滤波器。(通俗理解,就是对灰度矩阵进行膨胀,即矩阵中的元素除0,1之外还有2,3...等其他的元素)

参数:

input:灰度图像矩阵;size:类型:tuple of ints(整型元组)---用于灰度扩张的扁平和完整结构元素的形状。footprint : 类型:array of ints(整型矩阵)---用于灰度扩张的扁平结构元素的非无限元素的位置。 非零值给出中心的邻居集合,在该邻居上选择最大值;structure:类型:array of ints(整型矩阵)---用于灰度膨胀的结构元素。 结构可以是非平坦的结构元素;output:类型:array(矩阵)---可以提供用于存储扩张输出的阵列;mode:{'reflect','constant','nearest','mirror','wrap'}---mode参数确定如何处理数组边界,默认为:‘reflect’;cval:类型:scal(标量)---如果模式为“常量”,则填充输入的过去的边缘值,默认值为“0.0”;origin:类型:scal(标量)---origin参数控制过滤器的位置。 默认值为0;

返回值:Grayscale dilation of input.(灰度图像矩阵)

Note:与二进制的膨胀/腐蚀/开运算/闭运算相类似,灰度的膨胀/腐蚀/开运算/闭运算之间的用法及参数描述是一样的。

六、孔洞填充

学习地址:https://blog.csdn.net/songchunxiao1991/article/details/88530995

七、旋转

学习地址:https://blog.csdn.net/songchunxiao1991/article/details/88531086

八、缩放

学习地址:https://blog.csdn.net/songchunxiao1991/article/details/88531086

九、Hit和Miss

Hit和Miss是二值形态学图像处理中最基本的运算,因为几乎所有的其他的运算都可以用Hit和Miss的组合推演出来。它对图像中的每个像素周围的像素进行模式判断,如果周围像素的黑白模式符合指定的模式,将此像素设为白色,否则设置为黑色。因为,它需要同时对白色和黑色像素进行判断,因此需要指定两个结构元素。

binary_hit_or_miss(input [structure1,structure2])

其中,structure1参数指定白色像素的结构元素,structure2参数则指定黑色像素的结构元素。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3