SIMD计算median filter(中值滤波向量化计算)

1.median filter

是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值.
中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。二维中值滤波输出为g(x,y)=med{f(x-k,y-l),(k,l∈W)} ,其中,f(x,y),g(x,y)分别为原始图像和处理后图像。W为二维模板,通常为33,55区域,也可以是不同的的形状,如线状,圆形,十字形,圆环形等。

2.SIMD函数定义

def max(a,b,c):
  return the max value of a,b,c;
def med(a,b,c):
  return the median value of a,b,c;
def min(a,b,c):
  return the min value of a,b,c;

3.Median filter的向量化计算

对于一个3x3的窗口计算中值滤波,该窗口如下所示:

image.png

执行如下操作,完成中值滤波的计算:

1.) x=min(max(a,b,c),max(d,e,f),max(g,h,i))
2.) y=med(med(a,b,c),med(d,e,f),med(g,h,i))
3.) z=max(min(a,b,c),min(d,e,f),min(g,h,i))
median_value  = med(x,y,z)

4.算法解释

中值滤波就是寻找9个数中的一个数,有如下假设:

a<b<c<d<e<f<g<h<i
  • 经过公式1的计算,排除了两个值,最大的值和必然不是中值的比较大的值(至少大于5个值,而中值应该恰好大于4个值)。剩余7个数,得到了其中一行的最大值
  • 经过公式3的计算,排除了两个值,最小的值和必然不是中值的比较小的值(至少小于5个值,而中值应该恰好小于4个值),剩余5个数,得到了其中一行的最小值
  • 现在有5个值,其中有三个数是三个行的中值,还有两个数分别是某行的最大值和最小值。中值应该在这5个数中(排除法)。
  • 经过公式2的计算,在5个数中,中值应该大于2个值并且小于2个值,如果选三个中值中的最大值,则该值大于三个值,如果选三个中值中的最小值,该值小于三个值,都排除。最后剩下三个值,中值位于这三个值中。
  • 那中值应当是这三个值的中值。

算法另一种解释

  • max(a,b,c),max(d,e,f),max(g,h,i)得到了三个行每行的最大值
  • max(max(a,b,c),max(d,e,f),max(g,h,i)) 得到9个数的最大值,排除
  • med(max(a,b,c),max(d,e,f),max(g,h,i))得到的数,将会大于5个数,本行的两个数与最小值max那行的三个数,而中值应当大于4个数,排除。
  • 经过排除,唯有min(max(a,b,c),max(d,e,f),max(g,h,i))可能有中值。
  • 同理,继续排除maxmin(a,b,c),min(d,e,f),min(g,h,i))排除了最小值和比较小的不为中值的值。
  • 排除了4个数不可能为中值,剩余5个数,中值位于此范围
  • max(med(a,b,c),med(d,e,f),med(g,h,i))得到了每行中值的最大值,此值大于三个数,而中值应当大于2个数,排除
  • min(med(a,b,c),med(d,e,f),med(g,h,i))得到了每行中值的最小值,此值小于三个数,而中值应当大于2个数,排除
  • 因此中值只能位于med(max(a,b,c),max(d,e,f),max(g,h,i))
    -此时只有三个数,因为是对称排除,此时中值应当大于一个数,小于一个数,因此med()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • 不同图像灰度不同,边界处一般会有明显的边缘,利用此特征可以分割图像。需要说明的是:边缘和物体间的边界并不等同,边缘...
    大川无敌阅读 13,821评论 0 29
  • 【概述】 SVM训练分类器的方法是寻找到超平面,使正负样本在超平面的两侧(分类正确性即“分得开”),且样本到超平面...
    sealaes阅读 10,997评论 0 7
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,596评论 18 139
  • It is almost time for the Mid-Autumn festival, one of the...
    海那边2016阅读 371评论 0 0
  • 想想你身边的女孩,皮肤好,身材胖瘦适中,头发干净清爽,笑容可爱,有亲和力,举止从容,穿着得体的女孩,有感觉难看的吗...
    简倩颖阅读 195评论 0 0