Scipy.ndimage库--简介

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(多维图像处理包)----该包包含用于多维图像处理的各种功能。其中包括以下几个模块:

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参数则指定黑色像素的结构元素。

  • 10
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: scipy.ndimage.zoom是一个用于图像缩放的函数,可以通过指定缩放因子来对图像进行放大或缩小。该函数可以应用于任何维度的数组,包括二维和三维图像。在图像处理中,缩放是一种常见的操作,可以用于调整图像的大小、改变图像的分辨率等。 ### 回答2: scipy.ndimage.zoom 是一个可以调整图像大小的函数。它是 Scipy ndimage 模块的一部分,用于图像处理和计算机视觉任务。 zoom 函数可以按照指定的比例因子调整图像的大小。调整图像的大小可以通过缩放、放大或裁剪的方式实现。 zoom 函数的语法为: ```python scipy.ndimage.zoom(input, zoom, output=None, order=3, mode='reflect', cval=0.0, prefilter=True) ``` 其中参数的含义为: - input: 输入的图像 - zoom: 缩放的比例因子,可以是一个数值或者一个包含数值的元组 - output: 输出的图像,如果没有指定将会创建一个新的图像 - order: 插值的阶数,默认为3,表示使用三次样条插值 - mode: 插值方式,默认为'reflect',表示使用反射法进行插值 - cval: 当边缘像素无法用于插值时,使用的固定值,默认为0.0 - prefilter: 是否在插值之前对图像进行预滤波处理,默认为True 通过调用 zoom 函数,我们可以实现图像的缩放功能。缩放后的图像将会改变尺寸,保留原有图像中的所有信息,并且可以对图像进行平滑处理。 需要注意的是,在调用 zoom 函数之前,确保已经安装了 Scipy ,并且导入了 ndimage 模块。 ### 回答3: scipy.ndimage.zoom 是 SciPy 中的一个函数,用于图像操作中的缩放。该函数的作用是对输入的 N 维图像或数组进行按指定比例缩放的操作。这个比例可以是一个浮点数,表示缩放的倍数,也可以是一个包含每个维度缩放倍数的数组。 这个函数的用法如下: ```python scipy.ndimage.zoom(input, zoom, output=None, order=3, mode='constant', cval=0.0, prefilter=True) ``` 其中参数的含义如下: - input:输入的 N 维图像或数组,可以是多维的。 - zoom:缩放比例,可以是一个浮点数或包含每个维度缩放倍数的数组。例如,[2, 1, 1] 表示在第一个维度上放大两倍,其他维度不变。 - output:可选参数,缩放结果的输出。如果不指定输出,则会创建一个和输入相同的形状的输出数组。 - order:可选参数,插值方式的阶数,默认为 3,表示三次样条插值。 - mode:可选参数,指定边缘填充的方式,默认为 'constant',表示常量填充。 - cval:可选参数,边缘填充的常数值,默认为 0.0。 - prefilter:可选参数,是否预先滤波,默认为 True,表示对输入进行滤波以减少混叠效应。 使用 scipy.ndimage.zoom ,可以对图像进行缩放操作。通过调整缩放比例,可以放大或缩小图像,并且可以选择插值方式来保留图像细节。此外,还可以设置边缘填充的方式以及常数值,以控制缩放后图像边缘的外观。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值