我们先看中值滤波和均值滤波。
以前,我认为是一样的,没有区分过。
他们说,均值滤波有使图像模糊的效果。
中值滤波有使图像去椒盐的效果。为什么不同呢?试了一下,果然不同,然后追踪了一下定义。
12345,均值是3,
12345,中值也是3,这就是不加区别的原因。
再看,1,2,7,8,10;均值是?,28/5=5.6
中值显然是7。这就是区别。所以有时二者相等,有时并不同。
中值为什么能去椒盐,椒盐其实就是离谱的噪点,比如1,2,7,8,10中的1,2;其实针对均值5.6,1,10离得更远一些。
所以中值舍去的就是1,2之类,而均值舍去的是1,10之类
那么模糊又是什么意思?其实就是拉平(没有了特色和细节,就像灰色的天空,蓝色天空也行,或者整片白云,应区别噪点,比如云中飞机)了,显然5.6更合适拉平效果,而7有偏颇。
不管是拉平的平原,柏油马路的颜色,这些没有特色的,容易引起审美疲劳。一群同学中没个高个,都差不多,没几个优秀的学生,办学没特色,好中庸!图像中一团黑或白都算!
下面我们用数学公式区分一下这些不着边际的话语,平均值是这样定义的:
u=1/n*,u就是均值,xi代表上面的1,2,7,8,10;n是个数。
我们还学习了一个公式,代表偏离均值程度,sigma*sigma=1/n*。
显然值越大,偏差程度越大。
十月初,想通了一件事,就是,这两个公式是万物基础,高斯函数很牛,也是要靠这两个定义支撑。
高斯函数,在图像处理中,常常用来模糊(平滑)图像,去除噪点,那么他这个模糊和均值模糊有什么差别?
均值模糊更具有一般性,而高斯模糊更具有特殊性,为什么呢?
这个世界可以用连续和离散来概括,而均值概括了连续和离散,而高斯函数针对的是连续空间。
也就是说,均值模糊什么情况下都能用,而高斯模糊,最好在连续空间使用。
我们再看一下高斯函数的来历:
有人为了解简单的微分方程:/f(x)=c*x;
可以推导出:f(x)=K*exp(1/2*x*x*c),k是常数
欲使得:f(x)=1;这个公式其实就是使其归一化,或者说用概率论来说,在x定义域上必然发生的概率是1,或者说必然有解。
可以推导出:c=-1/(sigma*sigma)
再利用:=,可以推出,k=1/sigma*1/。
所以f(x)=高斯函数;因为他是高斯发现的,故以其名字命名。
显然这些推导的成立,都是在连续的基础上。
高斯模糊,靠的就是这个sigma,这个sigma在连续函数上等于偏离均值程度,当函数不连续时,上面那个均值和偏离程度的公式仍然成立,即就是sigma*sigma=1/n*中sigma的定义包含了高斯函数中的sigma。
其实sigma的平滑模糊靠的就是这个均值u。只不过用u模糊平滑时,对x的掌控力度不如sigma好。
u平滑模糊,是整个定义域的,比如1,2,7,8,10;在这个定义域,sigma*sigma=++++,sigma=7.8;如果5.6不变,sigma令其为4.55,则只剩2,7,8三个数了,也就是说模糊只能对2,7,8起作用。所以改变sigma,可以掌控的定义域力度比u变小,因为我们是有限范围模糊。
也有人把这个sigma叫波长,鞭长或半径,他可以达成不同的模糊程度。
最后,我们来回答,为什么这个sigma摇身一变,成为尺度了?
我在研究sift和canny以及膨胀腐蚀的时候发现,腐蚀可以认为是图像缩小,膨胀可以认为是放大,特别是腐蚀轮廓一圈,一圈消下去一个像素,sigma=0.8,膨胀一圈轮廓,一圈增加一个像素,sigma=1.2。在sift高斯金字塔的一层(1->2,放大一倍,=2)连续四组图像(sigma,k*sigma,k*k*sigma,k*K*k*sigma)中,可以看得清清楚楚轮廓的变化(轮廓用canny求出,第一层dog,k*sigma-sigma,第二层dog,*sigma-k*sigma,第三层dog,sigma-sigma,如果我们认为第二层是原图像,那么第一层就是尺度(收缩)0.8,第三层就是尺度1.2(放大)),然后我们想要知道像素是怎么变化的,可以用膨胀腐蚀轮廓对等模拟。
尺度在图像上是什么?就是放大缩小,从视觉轮廓上的膨胀腐蚀和sigma的变化,我终于想通了尺度就是sigma。