[发明专利]使用FPGA实现中值滤波的方法有效
申请号: | 201711193712.X | 申请日: | 2017-11-24 |
公开(公告)号: | CN107993202B | 公开(公告)日: | 2022-05-27 |
发明(设计)人: | 庄洪毅;陈小林;李荅群;吴志佳 | 申请(专利权)人: | 中国科学院长春光学精密机械与物理研究所 |
主分类号: | G06T5/00 | 分类号: | G06T5/00 |
代理公司: | 深圳市科进知识产权代理事务所(普通合伙) 44316 | 代理人: | 赵勍毅 |
地址: | 130033 吉林省长春*** | 国省代码: | 吉林;22 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 fpga 实现 中值 滤波 方法 | ||
本发明使用FPGA实现中值滤波的方法,利用异步FIFO缓存3行图像,然后使用排序机对一行图像进行滤波,滤波后的图像数据暂时存回到原来的FIFO;那么处理完毕这一整行图像之后,这个FIFO保存的是经过滤波处理后的一行图像,此时再将这行图像数据从FIFO中取出放入缓存,这个FIFO继续接收新的一行图像。本发明在处理图像数据过程中能够一边处理图像数据、一边将处理后的图像数据放入缓存的同时接收新的图像数据。
技术领域
本发明属于图像处理技术领域,尤其涉及一种通过FPGA实现中值滤波的方法,在处理图像数据过程中能够一边处理图像数据、一边将处理后的图像数据放入缓存的同时接收新的图像数据。
背景技术
FPGA因其硬件结构特性使得FPGA占有并行处理的优势,避免单核CPU逐条指令串行执行,或多核CPU并行程度不高的缺点,图像处理在硬件结构也由基本的串行结构发展成并行处理结构,越来越多的图像处理项目选择FPGA作为硬件加速解决方案的核心。
中值滤波是一种非线性平滑滤波技术,在一定条件下可以克服线性滤波带来的图像细节的模糊问题,特别是针对被椒盐噪声污染的图像。中值滤波算法简要描述为:逐个扫描图像中的像素点,将其邻域各元素的像素值从小到大进行排序,将求得到的中间值赋值给目标图像中与当前点对应的像素点,循环以上步骤,直到处理完源图像的全部像素点。
鉴于中值滤波算法不像均值滤波等算法那样易于采用流水线技术加以实现,甚至在有的时候用FPGA实现中值滤波算法时采用缓存一整幅图像然后再进行处理,极大限制了FPGA的处理优势。
因此得到一种通过FPGA实现中值滤波的方法,针对不便于采用流水线技术实现中值滤波,或采用缓存一整幅图像再对其进行处理造成较大时间开销的问题,本发明提出了新的改进解决方案用于FPGA实现中值滤波的算法。
发明内容
本发明旨在克服现有技术的缺陷,提供一种通过FPGA实现中值滤波的方法,在处理图像数据过程中能够一边处理图像数据、一边将处理后的图像数据放入缓存的同时接收新的图像数据。
为实现上述目的,本发明采用以下技术方案:
本发明提供一种使用FPGA实现中值滤波的方法,包括以下步骤:
(1)通过m个异步FIFO存储器缓存m行图像数据;
(2)每个异步FIFO存储器分别读出m个图像数据,共m2个图像数据送入排序机;
(3)排序机内形成m×m像素矩阵,对m2个图像数据进行排序并计算出中值;
(4)将排序机内像素矩阵中间的图像数据替换为中值;
(5)将排序机内像素矩阵的最左边一列的m个图像数据分别存回到相应的异步FIFO存储器中;
(6)每个异步FIFO存储器各读出1个图像数据,共m个图像数据送入排序机;
(7)排序机内再次形成m×m像素矩阵,对m2个图像数据进行排序且得到中值;
(8)将排序机内像素矩阵中间的图像数据替换为中值;
(9)循环步骤(5)~(8)遍历m个异步FIFO存储器中的所有图像数据之后再进行步骤(10),此时,中值滤波的m×m窗口已经扫过一行图像数据;
(10)按照原图像的像素行排列的顺序,存有上边一行的像素的异步FIFO存储器将其内部的图像数据存入缓存,并将原图像的下一行未经处理的像素存入到该异步FIFO存储器;
(11)经过步骤(10),每个异步FIFO存储器再次各存有一行图像数据,即每个异步FIFO存储器再次缓存m行图像数据,循环步骤(1)~(10),遍历原图像所有像素行;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院长春光学精密机械与物理研究所,未经中国科学院长春光学精密机械与物理研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711193712.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种配电箱
- 下一篇:一种低能耗地埋预装式变电站