近视手术后,医务人员说

近日在看图像风格化的舆论的时候,频仍遇到 Bilateral Filter。google
一波后,发现并不是什么样不可了的事物,但它的思索却很有借鉴意义。

肉眼的泪腺暂时不会分泌泪水

简介

Bilateral
Filter,粤语又称「双边滤波器」。相比过去那多少个单纯使用地点音讯进行滤波的
filter,Bilateral Filter 还考虑了颜色新闻,可以保险边缘部分不会被过滤。

不难易行来说,一般的 filter 都是根据那样的公式举行滤波的:
\[
h(x)=k_{d}^{-1}{(x)}\iint_\infty^\infty{f(\zeta)c(\zeta, x)}
d\zeta \]

其中,\(k_{d}^{-1}{(x)}\)
是权重之和,\(f(\zeta)\)
能够掌握为单个像素,\(c(\zeta, x)\)
可以知道为地方权重。

翻译成程序员可以领会的语言,大概是那样:

for (int i = -r; i <= r; i++) {
  for (int j = -r; j <= +r; j++) {
    newpixel += pixel[row+i][col+j] * c[i][j];
    k += c[i][j];
  }
}
pixel[row][col] = newPixel / k;

高斯函数也属于那类 filter。

但这种 filter
有一个瑕疵:各向同性(不晓得那几个精晓对不对)。用那种滤波器,每个点受邻居的影响是千篇一律的,即便它跟邻居像素可能差得相比较多,也会被邻里「同化」(举个例子:边缘被「和谐」掉了)。因而,有人提议了
Bilateral Filter。

Bilateral Filter 选取那样的公式:
\[
h(x)=k_{d}^{-1}{(x)}\iint_\infty^\infty{f(\zeta)c(\zeta,
x)s(f(\zeta), f(x))} d\zeta \]
相比之下以前的姿态,最大的变动唯有是权值中扩展了一个 \(s(f(\zeta),
f(x))\),这些东西也是权值,但是它不是行使地方音讯,而是颜色新闻
\(f(\zeta)\)。不管是哪一类新闻,形势上来看都是同一的,但出于增添了颜色权值,却使滤波的结果有了惹人注目分化,后边会付出效果图。

再度翻译成程序语言:

for (int i = -r; i <= r; i++) {
  for (int j = -r; j <= +r; j++) {
    newpixel += pixel[row+i][col+j] * c[i][j] * s(pixel[row][col], pixel[row+i][col+j]);
    k += c[i][j]*s(pixel[row][col], pixel[row+i][col+j]);
  }
}
pixel[row][col] = newPixel / k;

s
函数可以借鉴地点权值的思绪。例如,可以动用那种方法定义(当然这一个是我自己社团的):

function s(p1, p2) {
  return (255-abs(p1-p2)) / 255
}

如此,差的越多的水彩,所占权值越小。

如果要追求科学严厉一点,也无妨仿照高斯核函数的定义:
\[ c(\zeta-x) = e^{-{1\over2}({
{\zeta-x} \over {\sigma} } )^2} \\\\\\ s(\zeta-x) =
e^{-{1\over2}({ {f(\zeta)-f(x)} \over \sigma })^2} \]

为了湿润,须求平时补充人工泪液

代码完结

明白原理后,完毕其实也很粗略,上面给出的伪代码基本是骨干算法了。别的索要专注的是,假设是彩色图的话,要求对种种通道的颜色值举办滤波。

现实贯彻可以参照那篇博客:图像处理之双边滤波效果(Bilateral Filtering
for 格雷 and Color
Image)
,或者参考我要好的
demo,当然,我也只是将地点博客的
java 版改成 c++ 而已^0^。

交由几幅结果图:

原图

图片 1

高斯模糊

图片 2

只有用颜色音讯滤波

图片 3

五头滤波:

图片 4

有心人相比较一下,双边滤波对边缘的保存效果比高斯滤波好太多了,那点从第三幅图就足以知晓缘由了。

其它!!如果运用高斯核函数来贯彻三头滤波,颜色卷积和的 \(\sigma\)
要取大一点的值,比如:50。否则,由于不相同颜色的差值往往比地点差值大出不少(举个例子:50
和 60 三种像素值肉眼上看很相近,但却差出 10,平方一下就是
100),可能引致很类似的像素点权值很小,最终跟没滤波的作用同样。

那意味,很长日子内,我将不会哭了

启发

Bilateral Filter
的思考是:在义务音讯的根底上添加颜色新闻,相当于考虑多少个权值。借使还要考虑任何重点元素,是否足以再充实一个权值,构成一个三角形滤波器呢?答案自然是足以的,因此,大家得以把众多概括的滤波器综合起来形成一个更强劲的滤波器。

为此我惊惧交集,甚至搞不清楚

参考

是惊喜多照旧惊吓多

从小自己的绰号之一,叫“好哭佬”

长大了也尚未成形多少

深深担忧,此后未曾眼泪

怎么表述不被爱时痛苦和

看电影时的撼动?

新生自己才晓得

大夫欺负我是文科狗,不懂科学

不曾说精晓,事实是

眼睛该湿润时无奈湿润

从未有过说该哭的不流眼泪

自身过了安静的七天

泪点便如期而至

像钟摆一样精准,像命局同样不可更改

倾注的泪水到了耳边才被发现

有没有泪腺没有涉及

难熬照样逆流成河

行走  学习  悦纳