FPGA图像处理
文章平均质量分 69
记录一些使用FPGA进行图像处理的方法!!!
耐心的小黑
七月份就上班了,比较忙!
展开
-
Verilog 图像数据时序生成(timing_gen/output)
一、要求图像输出时序如下图所示,其中VSYNC_OUT为场同步信号,HSYNC_OUT为行同步信号,DATA_OUT为16bit图像信号,单个通道进行数据传输,输出格式为4096行*4096列*16bit。时钟为60MHZ,HBLANK为512CLK,HSIZE为4096CLK,VSIZE为(4096+512)*4096+512=18874880CLK,VBLANK为14458453CLKDATA_OUT为16bit,一次传输4096个数据。二、程序设计//此工程为EMCCD增益控原创 2021-10-16 20:43:59 · 1939 阅读 · 0 评论 -
Verilog 图像数据的采样和缓冲(FMC_apt)
一、问题提出我们假设上一级传输过来了如下的图像数据:时钟为60MHZ,HBLANK为512CLK,HSIZE为4096CLK,VSIZE为(4096+512)*4096+512=18874880CLK,VBLANK为14458453CLKDATA_OUT为16bit,一次传输4096个数据。如果想通过VGA将图像显示出来,VGA显示用的时钟是65MHZ,那么就有两个问题需要我们解决:图像分辨率是4K * 4K,数据量太大,我们需要将其压缩为比如512 * 512;图像数据的时钟和原创 2021-06-12 16:21:34 · 1565 阅读 · 0 评论 -
FPGA丨图像二值化
一、二值化图像介绍二值图像(Binary Image)是指将图像上的每一个像素只有两种可能的取值或灰度等级状态,人们经常用黑白、B&W、单色图像表示二值图像。二值图像是指在图像中,灰度等级只有两种,也就是说,图像中的任何像素不是0就是1,再无其他过渡的灰度值。二值图像经常出现在数字图像处理中作为图像掩码或者在图像分割、二值化和dithering的结果中出现。一些输入输出设备,如激光打印机、传真机、单色计算机显示器等都可以处理二值图像。二、程序设计module binarization( i原创 2021-03-29 11:50:55 · 4230 阅读 · 0 评论 -
FPGA丨Sobel边沿检测算法实现
以下内容参考自:小梅哥的《FPGA系统设计与验证实战指南》一、算法介绍Sobel 算法是像素图像边缘检测中最重要的算子之一,在机器学习、数字媒体、计算机视觉等信息科技领域起着举足轻重的作用。在技术上,它是一个离散的一阶差分算子,用来计算图像亮度函数的一阶梯度之近似值。在图像的任何一点使用此算子,将会产生该点对应的梯度矢量或是其法矢量。Sobel 边缘检测算法比较简单,实际应用中效率比 canny 边缘检测效率要高,但是边缘不如 Canny 检测的准确,但是很多实际应用的场合,sobel 边缘却是首选,原创 2021-03-28 14:53:08 · 3268 阅读 · 3 评论 -
FPGA丨高斯滤波算法实现
以下内容摘自:小梅哥的《FPGA系统设计与验证实战指南》一、算法介绍高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。高斯滤波后图像被平滑的程度取决于标准差。它的输出是临域像素的加权平均,同时离中心越近的像素权重越高。因原创 2021-03-28 11:58:10 · 7241 阅读 · 7 评论 -
FPGA丨均值滤波算法实现
以下内容摘自:小梅哥的《FPGA系统设计与验证实战指南》一、算法介绍均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标像素为中心的周围8个像素,构成一个滤波模板,即去掉目标像素本身),再用模板中的全体像素的平均值来代替原来像素值。均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当原创 2021-03-28 10:42:42 · 5163 阅读 · 4 评论 -
FPGA丨中值滤波算法实现
以下内容摘自:小梅哥的《FPGA系统设计与验证实战指南》一、算法介绍中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值.中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。二维中值滤波输出为g(x原创 2021-03-28 09:33:08 · 4376 阅读 · 4 评论 -
FPGA丨RGB转Ycbcr算法实现
以下内容摘自:小梅哥的《FPGA系统设计与验证实战指南》一、色彩空间介绍Gray 图像:灰度(gray)图像就是我们常说的黑白图像,由黑到白为灰阶为0-255(8bit)。YUV图像:YUV是被欧洲电视系统所采用的一种颜色编码方法(属于PAL),是 PAL 和 SECAM 模拟彩色电视制式采用的颜色空间。在现代彩色电视系统中,通常采用三管彩色摄影机或彩色 CCD 摄影机进行取像,然后把取得的彩色图像信号经分色、分别放大校正后得到 RGB,再经过矩阵变换电路得到亮度信号 Y和两个色差信号 B-Y(即原创 2021-03-27 20:56:24 · 4915 阅读 · 3 评论 -
FPGA丨设计行缓存(linebuffer)生成像素矩阵
一、行缓存介绍一幅图像是由一个个像素点构成的,对于一幅480*272大小的图片来说,其宽度是480,高度是272。在使用FPGA进行图像处理时,最关键的就是使用FPGA内部的存储资源对像素行进行缓存与变换。由于在图像处理过程中,经常需要对图像进行开窗。如在进行卷积操作时,我们需要将开窗得到的如3X3大小的局部图像数据与卷积核进行卷积运算,从而完成处理。而开窗操作需要使用行缓存来实现,因此下面就介绍一下行缓存是什么。假如我们需要3X3的窗口,那么我们就需要设计3行行缓存。因为正常情况下,大多图像数据都原创 2021-03-27 19:07:27 · 17527 阅读 · 28 评论