【博文连载】行阉割、水平像素镜像的优化版3X3实现

在图像算法中,无论是进行均值滤波、中值滤波,还是Sobel边缘检测算法、腐蚀运算、膨胀运算算法中,我们都是用的到了3X3的矩阵,即教程设计的VIP_Matrix_Generate_3X3_8Bit,关于具体的设计可以在第7.3节“3*3像素阵列的HDL实现”中了解具体的实现方式,本节主要还是应用。

通过VIP_Matrix_Generate_3X3_8Bit,简单的得到了没有经过边缘镜像后的阵列。最后得到的matrix_p11、p12、p13、p21、p22、p23、p31、p32、p33即为得到的3*3像素阵列,仿真时序图如下所示:

从图中第一个像素输出为24’h000001,实际上应该为030103,同时以最后像素为中心的3*3矩阵没有输出。由于前面的算法,均只需要考虑3X3阵列,而不需要考虑像素的奇偶分布坐标,因此认为的忽略边缘,即便最终处理出现了边缘的Bug,我们都将以实现VIP算法为首要目的,而忽略这些细节。但是Bayer阵列需要考虑奇偶像素/行的分布,因此,此处考虑优化的可能性,将行、列边缘像素通过镜像实现,最后输出完整的3X3的阵列。

此处Bingo将介绍通过像素缓存机制实现的行边缘镜像,即通过像素的缓存,延迟到第二个像素时,通过与前面像素的组合,来实现镜像。同时,由于像素的迟滞,我们需要人为的将per_cmos_href扩展一个像素周期,来实现完整的序列操作。

首先,给出像素的行有效周期使能扩展,read_frame_href的生成如下所示:

其次,通过此信号,以及像素计数电路,生成数据的寄存、迟滞,已实现镜像,关键部分代码如下所示:

从上述实现流程分析,在数据读取中,持续的寄存上一列的3个像素,此外根据像素点来分配输出,如下:

(1)当pixel_cnt == 0时,不输出3X3阵列。

(2)当pixel_cnt == 1时,输出镜像后的边缘(第一个)像素3X3阵列

(3)当pixel_cnt == IMG_HDISP,输出镜像后的边缘(最后一个)像素3X3阵列

(4)在1~IMG_HDISP之间,输出当前像素为中心的3X3阵列

这部分行边缘镜像的3X3的实现,波形如下所示:

从图中可见,第一种3X3方案中,第一个3X3阵列为000001,而此时我们已经通过迟滞+镜像法则,第一个像素输出标准的3X3阵列:020101;同时最后一个阵列也OK了。这样,我们便实现了水平方向上的像素镜像。

关于竖直方向上的像素镜像,同样需要一行的迟滞,以实现行的镜像。但由于我们只有480个行信号,因此再通过Shift_RAM之后,还需要认为的生成一个行信号,来补偿镜像输出后的行信号损耗。对于实现难度上基本等于0,但是这一部分的实现,希望读者自己去努力,Bingo点到为止(其实我就是懒!)。

 

(0)

相关推荐

  • vivo要成第二个华为?明年开发RGBW传感器,拍照甩开竞品

    不得不说,今年手机的拍照能力都上了一个新台阶,不管是一贯给力的华为,还是逆转口碑的小米,都给出了让人刮目相看的拍照性能.而在这两个品牌之外,vivo也表现相当给力,尤其是X50系列的后置以及vivo ...

  • 图像降噪有哪些方法?

    重磅干货,第一时间送达 图像增强是图像处理和计算机视觉中的重要研究课题.它主要用作图像预处理或后处理,以使处理后的图像更清晰,以便随后进行图像分析和理解.本期我们主要总结了图像增强中图像去噪的主要方法 ...

  • 让雷军急眼、网友互喷的 4800 万像素相机,真相原来如此!

    将「雷科技Lite」收藏为我的小程序,不再错过精彩内容 谁也不曾想到 2019 年的智能手机行业是如此火爆和充满火药味,尤其是在近期的"4800 万像素"之争,更是罕见地引起了整个 ...

  • 手机像素6100万!真香!

    将「雷科技Lite」收藏为我的小程序,不再错过精彩内容 看到一张好照片时,常常有人以"像素"来形容它,"你这像素真高"."像素高就是好". ...

  • 【博文连载】动态Sobel阀值的HDL实现

    完美是没有极限的,前面我们已经实现了固定阀值下,图像的边缘检测结果.不过如何能手动输入,或者控制阀值的大小,那其实更完美一点点. 既然我们能够在努力一点点,为何要放弃??? OK,Bingo这里打算教 ...

  • 【博文连载】Sobel边缘检测算法的HDL实现

    FPGA中针对以上矩阵进行算法移植.由于直接计算会因为负值而得到错误的结果,用补码表示比较繁琐,需要用到unsigned 以及signed类型,不适合FPGA的运算. cnblog有真oo无双的代码, ...

  • 【博文连载】Median_Filter均值滤波算法的实现

    ChinaAET<电子应用技术>出版过一篇值得参考的<基于FPGA的实时中值滤波器的硬件实现>,该文采用FPGA+SRAM实现了实时中值滤波,思维值得参考(当然Bingo认为实 ...

  • 【博文连载】边缘检测算法介绍

    所谓边缘是指其周围像素灰度急剧变化的那些象素的集合,它是图像最基本的特征.边缘存在于目标.背景和区域之间,所以,它是图像分割所依赖的最重要的依据.由于边缘是位置的标志,对灰度的变化不敏感,,因此,边缘 ...

  • 【博文连载】中值滤波算法的介绍

    言归正传,我们先挑一个相对最简单的滤波算法(其实均值滤波更简单,但是它对边缘的保持太差,那就稍微努力点用中值滤波吧).进行中值滤波不仅可以去除孤点噪声,而且可以保持图像的边缘特性,不会使图像产生显著的 ...

  • 【博文连载】【VGA+USB】灰度图像的均值滤波算法实现

    图像处理算法可以在RGB域处理,也可以在灰度域处理,牛逼的还可以在Bayer处理.但是大部分目标识别.跟踪.检测等图像处理算法,都是灰度域处理的,因为灰度除了没有色度,以及包含了基本图像处理所需的信息 ...

  • 【博文连载】Bingo版HDL-VIP时序约定

    在6.3节中Bayer恢复RGB,其实我们已经或多或少的接触到Bingo设计的VIP模块了.并且我们通过CMOS_RGB565_Capture模块(当然RAW.YCbCr模式的采集,接口不变),已经得 ...

  • 【博文连载】PCIe扫盲——关于PCIe参考时钟的讨论

    本文来聊一聊PCIe系统中的参考时钟,主要参考资料为PCIe Base Spec和CEM Spec.在1.0a和1.1版本的PCIe Base Spec中并没有详细的关于参考时钟的描述,而是在与之对应 ...

  • 【博文连载】CY7C68013同步FIFO配置

    在VIP Mini开发板资料包08_USB_Keil_Project目录下,Bingo提供了CY7C68013的同步FIFO配置工程,以及其他的一些功能.软件版本为Keil UVision 4.73. ...