引用如下:
1. scipy.misc.imread
其实这个都快不能用了,应该接下来用imageio.imread
.
想用scipy图像处理的相关函数,得必须确保PIL
被安装。
解读下面几行的代码:
上面提到了mode
是指的是
L
用8位(一个字节)的整数来表示像素,然后是black and white图像,但是black和white应该就是gray图像啊。
下面写出了L的数学原理。
疑问:那这个到底是不是灰度图像啊? 应该是的,黑白图像其实就是灰度图像,和他有区别的是二值图像,除了0就是1。然而灰度图像是有过渡和渐变的。
错的啊,黑白就是二值才是纯黑白,然而灰度图像就是灰度图像,别把专业词汇和日常想法混合。
是的,是8bit(一个字节)的整数黑白图像,黑白图像就是灰度图像。
就和下面这个得到的灰度图是一样子的。
读进来的图像是{3024,4032},3024是height,4032是width
.
当我们改为利用Flatten=True从而让mode变为F时候:
而是用32位(4个字节)的浮点数:
那我应该有时间研究下,看看对于某个固定尺度的图像,比如24×24,用8位整数和32位浮点数具有什么区别?
从上面的两个图中可以看出来的:上面是整数,下面是小数。
2. scipy.ndimage.gaussian_filter 高斯模糊/高斯滤波
ndimage得到的结果:
关键参数:
sigma
:
Standard deviation for Gaussian kernel. The standard deviations of the Gaussian filter are given for each axis as a sequence, or as a single number, in which case it is equal for all axes.
高斯核的标准偏差。 高斯滤波器的标准偏差以序列或单个数字的形式提供给每个轴,在这种情况下,其所有轴均相等。
如果是以单个数的形式给出的,我们就知道:那这时候两个维度上都是这么大的数值作为标准差。
注意:这个sigma不是滤波核的尺寸大小
疑问:
这个sigma到底如何影响滤波核?
order
:
An order of 0 corresponds to convolution with a Gaussian kernel.
0就是用高斯核来卷积。说明进行的是高斯滤波
.
A positive order corresponds to convolution with that derivative of a Gaussian.
一个整数的order就是用高斯的导数来卷积。
我们再看看opencv的高斯模糊: