
FPGA图像处理
文章平均质量分 88
用FPGA做图像处理最关键的一点优势就是:FPGA能进行实时流水线运算,能达到最高的实时性。因此在一些对实时性要求非常高的应用领域,做图像处理基本就只能用FPGA。例如在某些分选设备中图像处理基本上用的都是FPGA,因为在相机中从看到物料图像到给出执行指令之间的延时大概只有几毫秒,这就要求图像处理必
BinaryStarXin
专注于网络技术、各类计算机热门行业技术研究分享、嵌入式开发、人工智能、后端与前端等方面的技术知识文章分享,欢迎留言
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基于FPGA的数字图像处理- 视频接口【5.4】
1.PAL简介PAL电视标准每秒25帧,电视扫描线为625线,奇场在前,偶场在 后,标准的数字化PAL电视标准分辨率为720×576,24比特的色彩位 深,画面的宽高比为4∶3,PAL电视标准用于中国、欧洲等国家和地 区,供电频率为50Hz,场频为每秒50场,帧频为每秒25帧,扫描线为 625行,其中,帧正程575行,帧逆程50行。视频时序产生器将会生产24位的视频数据,12位的辅助控制数 据,2位的场行同步控制信号,1位视频有效信号VDE,1位辅助有效信 号ADE,共40位输入数据。原创 2024-06-04 21:35:26 · 1706 阅读 · 0 评论 -
基于FPGA的数字图像处理- 视频接口【5.3】
在嵌入式设备中,最好的方式就是直接与数字传感器芯片相连, 这种场合主要发生在相机的设计中。 直接相连的方式等同于连接到一个模拟信号的解码器上。数字像 素从传感器流入,同时伴随着场行同步信号,通过一组寄存器来进行 传感器的配置,例如快门速度、除法、增益控制、窗口操作、降采样 等。这些寄存器的配置通常都是采用串行配置。在CMOS传感器中,每个像素实际上都是可以独立寻址的,尽管这 样的接口通常不会直接提供给用户,但是一些工作模式还是利用了这 个性能。这些提供给用户的工作模式包括以下几种。(1)窗口操作:常规模式是原创 2024-06-04 21:28:04 · 1309 阅读 · 1 评论 -
基于FPGA的数字图像处理- 视频接口【5.2】
3.USB与FPGA的接口 USB协议的复杂性决定了单独使用FPGA来实现USB协议是一件基本 上不可能的任务,实际上,用FPGA昂贵的逻辑资源来实现复杂的USB通 信协议是一种资源浪费。将USB与FPGA连接的最简单的方式是配置一个嵌入式处理器(例如 ARM),或是专用的USB控制器,并通过合适的软件驱动与之连接。如果 需要直接将FPGA逻辑电路与USB相连,那么最好购买商用的IP核,来管 理所有的USB通信协议的细节。原创 2024-06-04 21:20:06 · 1939 阅读 · 1 评论 -
基于FPGA的数字图像处理- 视频接口【5.1】
3)SECAM制式 SECAM制式又称为塞康制,意思为“按顺序传送彩色与存储”, 1966年在法国研制成功,它属于同时顺序制。在信号传输过程中,亮 度信号每行传送,而两个色差信号则逐行依次传送,即用行错开传输 时间的办法,来避免同时传输时所产生的串色,以及由其造成的彩色 失真。SECAM制式的特点是不怕干扰,彩色效果好,但兼容性差。帧频 每秒25帧,扫描线625行,隔行扫描,画面比例为4∶3。采用SECAM制 的国家主要为独联体国家(如俄罗斯)、法国、埃及及非洲的一些法 语系国家等。原创 2024-06-04 21:09:23 · 1390 阅读 · 1 评论 -
基于FPGA的数字图像处理- 图像分割【5.0】
摄像机前的被拍摄物体的 不同亮度对应于不同的亮度值,摄像机电子管中的电流会发生相应的 变化。4)射频信号 为了实现模拟视频信号的远距离传输,必须把包括亮度信号、色 度信号、复合同步信号和伴音信号在内的全电视信号调制成射频信 号,每个信号占用一个频道。3)分离视频信号 分离视频信号S-Video(Separated Video)是分量视频信号和复 合视频信号的一种折中方案,它将亮度Y和色差信号C分离,既减少了 亮度信号和色差信号之间的交叉干扰,又可提高亮度信号的带宽,其 具体接口外形如图11-3所示。原创 2024-06-04 21:03:17 · 1389 阅读 · 0 评论 -
基于FPGA的数字图像处理- 图像分割【4.9】
(2)前两个象限的除法运算的分子和分母是颠倒的,这给我们的 设计带来了难度。正如我们前面所分析的,非最大值抑制主要是对Sobel运算的计算 结果进行开窗,在当前像素的3×3邻域找到梯度方向上的最大值,若 当前像素为整个方向上的最大值,则将该像素点归为潜在的边缘点。仔细观察上述两组公式就 能发现,x与y是完全对称的,再仔细观察图10-6~图10-9,不等式右 边第一项系数为当前x与y方向梯度值的较小值,第二项系数为当前x与 y方向梯度值的较大值与最小值之差,不等式左边系数为当前x与y方向 梯度值的较大值。原创 2024-06-03 21:31:38 · 1143 阅读 · 0 评论 -
基于FPGA的数字图像处理- 图像分割【4.8】
对15×15个像素的缓存不是一件非常容易实现的事情,这里将指定尺寸的窗口缓存封装成一个模块,记为win_buf模块,把这个模 块的当前输出像素记为din_buf。不等式左边的计算是非常简单的,窗口缓存的中间值即为当前像 素值,记为din_org,与均值做减法,求平方后再乘以225即可得到。2.数据累加模块add_tree 数据累加模块负责将窗口内所有元素与均值之差的平方相加,这 里还是采用之前的加法思路:每个加法器限制两个输入,这样,对于 225个数据,在第一个时钟,共有112对数据进行相加。原创 2024-06-02 21:44:07 · 1078 阅读 · 0 评论 -
基于FPGA的数字图像处理- 图像分割【4.7】
在Canny算法中,非极大值抑制是进行边缘检测的重要步骤,通俗意义 上是指寻找像素点局部最大值,将非极大值点所对应的灰度值置为0, 从而去除潜在的伪边缘。可见,阈值处理消除了大量的假边缘,得到了比较精细的边缘图 像。我们可以把结果与Soble运算的结果进行比较:Canny算子的运算结果中的边缘仅有一个像素单元的宽度,大大减小了边缘的范围。当然也有 一些自动阈值计算的算法,例如前面所介绍的大津法阈值(OTSU)计 算,图10-12是以OTSU分割结果作为低阈值并且对高阈值取2倍低阈值 的Canny运算结果。原创 2024-06-02 21:27:20 · 1026 阅读 · 0 评论 -
基于FPGA的数字图像处理- 图像分割【4.6】
图像分割是将图像划分成若干个互不相交的小区域的过程,所谓 小区域是某种意义下具有共同属性的像素的连通集合。图像分割可以将图像中有意义的特征或者应用所需要的特征信息 提取出来,其最终结果是将图像分解成一些具有某种特征的单元,称 为图像的基元。相对于整幅图像来说,这种图像基元更容易被快速处 理。无论是图像处理、分析、理解与识别,其基础工作一般都建立在 图像分割的基础上。在本章,我们将首先讨论几种常见的图像分割的方法,然后重点 讲述局部自适应分割算法及Canny算子在FPGA中的应用。原创 2024-06-02 21:13:46 · 1410 阅读 · 0 评论 -
基于FPGA的数字图像处理-形态学滤波【4.5】
5.二维形态学Tophat运算模块(Morph_Tophat_2D) 本模块需要调用一个开运算模块,并将输入数据流与开运算的结 果进行对齐后进行一个减法运算。原创 2024-06-02 21:03:44 · 473 阅读 · 0 评论 -
基于FPGA的数字图像处理-形态学滤波【4.4】
2.一维形态学腐蚀/膨胀子模块(Morph_1D) 就代码设计而言,一维单元的设计作为二维计算的基础,需要考 虑的问题主要是代码的可重用性和可移植性。同时,考虑到尽量节省资源,将上述参数作为编译时参数 进行设计。3.二维形态学腐蚀/膨胀子模块(Morph_2D) 二维形态学腐蚀/膨胀模块需要调用一维运算模块和行缓存,同时 生产行列同步电路。4.二维形态学开运算子模块(Morph_Open_2D) 开运算只需例化1个二维腐蚀操作和1个二维膨胀操作,同时将腐 蚀操作的输出接入膨胀操作的输入即可。原创 2024-06-02 20:51:03 · 342 阅读 · 0 评论 -
基于FPGA的数字图像处理-形态学滤波【4.3】
2)闭运算作为开运算的逆运算——闭运算(Closing Operation)其实就是先膨胀后腐蚀的过程。其数学表达式如下:闭 运算同样可以使轮廓线变得更光滑,但是与开运算相反的是, 它通常能够消弭狭窄的间断和长细的鸿沟,消除细小的孔洞,并填补 轮廓线中的断裂。因此,在排除小型黑洞的场合经常用到闭运算。对图9-8进行尺寸为5×5的矩形闭运算,结果如图9-10所示。3.Tophat滤波 Tophat变换实际上原图像与“开运算”的结果图之差。因 为开运算带来的结果是放大了裂缝或者局部低亮度的区域。原创 2024-06-02 19:48:37 · 902 阅读 · 0 评论 -
基于FPGA的数字图像处理-形态学滤波【4.2】
数学形态学是一门建立在集论基础上的学科,是几何形态学分析 和描述的有力工具。数学形态学的历史可回溯到19世纪。1964年法国 的Matheron和Serra在积分几何的研究成果上,将数学形态学引入图像 处理领域,并研制了基于数学形态学的图像处理系统。1982年出版的 专著Image Analysis and Mathematical Morphology是数学形态学发 展的重要里程碑,表明数学形态学在理论上趋于完备及应用上不断深 入。原创 2024-06-02 19:34:23 · 751 阅读 · 0 评论 -
基于FPGA的数字图像处理-非线性滤波器【4.1】
对于中值滤波,我们当然会 选择中间结果进行输出,例如,设定我们的处理核为KSZ,则有 OUT_ID=KSZ>>1 中值滤波器 OUT_ID=0 最大值滤波器 OUT_ID=KSZ-1 最小值滤波器 2.sort_2d模块设计 对于二维运算,我们可以采用和均值滤波同样的思路来处理,同 样对于3×3的二维排序运算,整个计算步骤如下: (1)计算一维行方向的排序结果输出。首先是模块的整体设计与模块划分。上述代码是基于1×3的窗口来设计的,我们注意到,代码的设计 非常灵活,因为全比较电路这一块是对任何尺寸通用的。原创 2024-06-02 19:15:11 · 835 阅读 · 0 评论 -
基于FPGA的数字图像处理-非线性滤波器【4.0】
以3个数据d1 ,d2 ,d3 的排序为例,要完成的比较如下: d1 ≥d2 d1 ≥d3 d2 >d1 d2 ≥d3 d3 >d1 d3 >d2 因此,除非设计单独的等号判别电路,每次比较都是不重叠的, 这样下来,需要的比较器数目为n(n-1)个,以1个比较器占用5个逻辑 资源来算,整个比较器的资源消耗为5n(n-1)个,此外还需要n-1个比 较结果寄存器以及n-1个加法器来实现比较结果相加。不妨看下面的待排序序列: 91,23,91,5,8 同样按照上面的排序规则进行排序,如表8-2所示。原创 2024-06-02 15:55:42 · 1137 阅读 · 0 评论 -
基于FPGA的数字图像处理-线性滤波器【3.9】
7.单次迭代运算单元(cordic_ir_unit) 经过预处理后的绝对值输出可以直接送入Cordic处理核进行 Cordic运算,Cordic运算实际上是n次迭代运算的过程。我们首先来看 一下单次迭代运算的设计。前面也提到,我们的目标是使Y趋近于0。Y的符号位决定了旋转的 方向,也就是迭代器的方向。原创 2024-06-02 15:43:08 · 1092 阅读 · 0 评论 -
基于FPGA的数字图像处理-线性滤波器【3.8】
1.Testbench设计 Testbench的设计非常简单,我们可以直接将捕获到的视频流接入 本模块即可,关键代码如下:2.模块仿真结果 1)一维求和模块(Sum_1D) 一维求和模块的仿真结果如图7-17所示。不妨从输入数据有效开始,截取10个时钟的数据进行分析。设竖 线所在时刻为t,×表示无关项,如表7-5所示。 由表7-5中可以看出,在第5个时钟,已经得到了5个将要求和的数 据,在下一个时钟,这5个数据的和将会计算出来,同时数据流首尾的 插值diff也被计算出来了。在下一个时钟,当前的计算值加原创 2024-06-02 15:14:06 · 698 阅读 · 0 评论 -
基于FPGA的数字图像处理-线性滤波器【3.7】
2.二维求和模块设计(Sum_2D) 二维求和模块需例化一个一维的求和Sum_1D模块,同时生成行列 同步电路。将数据流接入Sum_1D模块进行行方向的求和,同时将行方 向的求和结果依次打入行缓存,对齐后输出进行列方向上的求和工 作。需要设计的参数不仅包括数据位宽和处理窗口的宽度,二维方向 上的操作还包括图像的宽度和高度参数。3.除法电路设计 除法电路将除法操作分为8个移位值的相加操作,总共需3个时钟 来完成8个数的相加。需要注意的是加法结果的位宽选择及移位溢出。原创 2024-06-01 23:45:20 · 243 阅读 · 1 评论 -
基于FPGA的数字图像处理-线性滤波器【3.6】
式中,D0 为滤波器的截止频率,n为滤波器的阶数,W为滤波器的 带宽。以4阶巴特沃斯滤波器为例,C语言示例代码如下: //计算巴特沃斯高通滤波器函数(4阶)下面的C++代码展示了如何利用FFT来实现一副图像的低通滤波功能运算结果如图7-6(b)所示,图7-6(a)为原始图像,图7- 6(b)为滤波后的图像。由图7-6可以看出,频率域的低频滤波和空域 中的低频滤波可以达到相同的效果,不同的是时域需要卷积,而频域 是直接相乘。图7-7是对一个被固定频带干扰的图像经过4阶巴特沃斯带阻滤波 器滤波后的效果图。原创 2024-06-01 21:32:25 · 1129 阅读 · 0 评论 -
基于FPGA的数字图像处理-线性滤波器【3.5】
对于频率域的滤波来说,最重要的是滤波器的选取与设计,通常 情况下,首先对原图进行FFT变换并显示出频谱,对频谱进行分析之后得到噪声的频带,并设计合适的滤波器来进行滤波。接着给出二维高斯函数的离散形式: 记h(i,j)为当前坐标(i,j)处的高斯函数值,σ为所选取高斯 滤波器的方差,r为模板(处理窗口)的半径,一般情况下将处理窗口 的尺寸选为奇数。不妨把高斯滤波的结果与均值滤波的结果放在一起做一个对比: 图7-3(a)是5×5均值滤波的结果,图7-3(b)是5×5高斯滤波处理 后的结果。原创 2024-05-19 23:53:02 · 1341 阅读 · 0 评论 -
基于FPGA的数字图像处理-直方图操作【3.4】
其中,Thr_Min和Thr_Max为给定的两个截断区间,用来定义首尾 被截断的直方图统计数目。1.映射区间计算 由计算公式可知,映射区间主要是由输入阈值和直方图累加和计 算出来的,因此,映射区间的计算同样可以放在直方图统计阶段进 行。映射区间的查找也十分简单,但是也要考虑到直方图分布的极端情况,例如,输入图像全黑或全白,就可能造成查找失败。同时还需注意,和直方图均衡一样,我们不考虑帧缓存的问题,也就是当前的查找结果为上一帧的结果。(5)计算第(3)步与第(4)步的乘积。(4)计算255与(B-A)的商。原创 2024-05-19 21:22:20 · 443 阅读 · 1 评论 -
基于FPGA的数字图像处理-直方图操作【3.3】
对于固定的位宽和图像分辨率来说,这个计算过程是 可定量的,也就是这个归一化系数是已知的。1.直方图累计和 根据数学定义,直方图累加和的定义是小于指定像素的所有像素 的统计值之和。在实际应用中,处理帧缓存是费时费力费资源的一件事情,在许 多情况下,图像的变换比较慢,在这种情况下的一个近似是当建立当 前帧的直方图统计结果时使用从前一帧得到的映射。由测试结果可见,这两幅过曝光和曝光不足的图像,经过均衡化 之后的效果图差别不大,对比度都非常高,设计代码达到了预期的均 衡目的。累加和的计算情况如图6-28所示。原创 2024-05-19 21:12:35 · 839 阅读 · 0 评论 -
基于FPGA的数字图像处理【3.2】
在时刻2,统计电路进入就绪状态,复位rst_cnt。直到时刻6,发现与上一个 值不同,将计数值counter(也就是3,表示3个连续相同的像素)与前 一个计数统计值32相加后写入,新的统计值变为35。首先,本书讨论的统计值读出方法是顺序读出,即灰度值为0的统计值首先输出,其次是灰度值为1的统计值输出,最后是灰度值为255的统计值输出。此信号为统计使能,很明显,在统计阶段此信号需要一直保持有效,统计完成后(也即当前图像遍历完毕),在读出和清零阶段,需要将此信号失能,这是由于B口在此阶段需要读出和清零地址。原创 2024-05-19 20:57:19 · 1068 阅读 · 0 评论 -
基于FPGA的数字图像处理【3.1】
其中,f(r)为图像均衡化的离散灰度级映射关系,g(z)为标准图像均衡化后的离散灰度级映射关系,而g-1(s)则是标准图像均衡化的逆映射关系,它给出了从经过均衡化处理的标准化图像到源标准图像的离散灰度映射,相当于均衡化处理的逆过程。可见,经过直方图均衡化处理后,过曝光和曝光不足的问题均得到了解决,图像的对比度得到了很大的提升。直方图规定化是在运用均衡化原理的基础上,通过建立原始图像和期望图像(待匹配直方图的图像)之间的关系,使原始图像的直方图匹配特定的形状,从而弥补了直方图均衡化不具备交互作用的特性。原创 2024-05-10 20:42:16 · 1086 阅读 · 2 评论 -
基于FPGA的数字图像处理【3.0】
图中左侧为原始图像,右侧为经过FPGA捕获后的输出图像,当然也可以是经过FPGA做算法处理后的图像(由于打印纸质的关系,读者可能看不到RGB彩色信息)。主机端的MFC程序需要完成图像的读取与数据生成,FPGA处理后数据的读取与处理后图像的显示,以及软件算法处理结果与FPGA处理结果的校对等。可以把上一节的处理结果通过本MFC平台进行测试,将FPGA处理后的结果写入文件,再通过MFC读出解析文件并显示,结果如图5-31所示。在此通用模块的基础上,加上不同的处理算法模块即可实现不同的算法处理结果。原创 2024-05-10 20:12:40 · 285 阅读 · 0 评论 -
基于FPGA的数字图像处理【2.9】
输入是8位的像素数据,需要将8位的像素数据转换为3个同时输出的RGB通道,位宽转换电路也是必不可少的。如果间隔设计比较大,那么行消隐时间就比较长,这个情况下,增加fifo的深度有可能避免“写满”的问题,但是过长的消隐时间可能会“侵占”下一帧的处理时间,并且极大地浪费了带宽,因此,也是不合适的。(1)异步时钟域转换:本地处理逻辑和视频源往往不是由一个时钟驱动,实际上,输入像素时钟往往没有足够大的功率来驱动本地逻辑,而采用FPGA的PLL产生的本地时钟则驱动能力更强,更加稳定可靠。这主要是基于以下因素的考虑。原创 2024-05-08 23:44:47 · 1011 阅读 · 1 评论 -
基于FPGA的数字图像处理【2.8】
视频流的模拟是测试平台的差异性部分:这是由于视频流的时序是由具体的视频输入接口所决定的,不同的接口输入就决定了我们要采取不同的视频流时序模拟。但是,在某些情况下,视频流的时序非常复杂,例如USB接口和千兆以太网接口,而这些接口在实际的相机中是十分常见的。可视化的图像及视频操作用微软的MFC平台实现是很简单的,而对于处理结果的验证则会负责把用C++的软件算法处理结果与FPGA的处理结果进行逐像素比对,并输出比对结果。从根本上来说,视频信号其实就是一个二维数组,数组的内容是按照一定的帧率刷新的亮度和色度数据。原创 2024-05-08 23:32:02 · 1102 阅读 · 1 评论 -
基于FPGA的数字图像处理【2.7】
所选择的Modelsim版本为Modelsim SE,选中Modelsim的安装路径下的win32文件夹,默认配置文件和日志文件,单击“下一步”。选择编译语言,如图5-4所示。根据所用的语言选择编译语言,接着,单击“下一步”,选择编译的器件,如图5-5所示。选择需要编译的器件,可以取消选择不用的器件,以便节省编译时间。接着单击“下一步”,指定编译库,如图5-6所示。指定编译后的四个库,直接单击“下一步”,指定输出路径,如图5-7所示。原创 2024-05-08 23:22:48 · 961 阅读 · 2 评论 -
基于FPGA的数字图像处理【2.6】
Mentor公司的Modelsim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器。它采用直接优化的编译技术、Tcl/Tk技术和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿真软件。Modelsim的主要特点如下:(1)RTL和门级优化,本地编译结构,编译仿真速度快,跨平台跨版本仿真。原创 2024-05-07 23:29:39 · 1134 阅读 · 0 评论 -
基于FPGA的数字图像处理【2.5】
行缓存最常见的应用之一是实现行列对齐,实际上,对于二维的图像处理来说,图像的行列对齐是时序对齐的关键步骤,读者阅读本书的后面章节就会发现,相当一部分的图像处理算法涉及图像的行列对齐操作(这是由于算法需要对图像进行开窗的缘故)。本节将以行缓存为基础给出图像行列对齐的一个方法。行列对齐的关键点是同时得到若干行像素数据,这可以理解为行对齐。同时每行的第一个像素实现对齐,这也是列对齐。行对齐可以通过上面介绍的行缓存来实现,列对齐可以通过合理控制各个行缓存的读出时刻来实现。原创 2024-05-07 23:17:42 · 1266 阅读 · 2 评论 -
基于FPGA的数字图像处理【2.4】
Cordic技术的一个主要限制是旋转增益。如有必要,在Cordic计算之前或计算之后可以用乘法将该常数因子剔除。补偿Cordic算法是指以不同的方式将这种乘法操作整合到基本的Cordic算法中去。从概念上来说,最简单的方法(最初的步长Cordic算法)是在每步迭代中加入一个1± 2-i 形式的缩放因子。选择符号使得合并后的增益接近于1。这可以归纳为两种方式。第一种是在某些迭代中使用缩放因子,并且选择使增益为2的项,使其能用一个简单的移位移除。原创 2024-05-07 23:07:59 · 779 阅读 · 0 评论 -
基于FPGA的数字图像处理【2.3】
它将基本算子组合在一个函数或者数据通路中,通过分析数据通路的位增长,选择最优归一化输入,为数据通路分配足够的精度,尽可能消除归一化和去归一化步骤。如果两个非常相近的数相减,许多高有效位可能会消失,因此需要确定最左边的1的位置,将其移动到最高位来重新规范化,并对指数进行相应的调整。exponent表示科学计数法的指数部分,这里所填的指数并不是前面算出来的实际指数,而 是 等 于 实 际 指 数 加 上 指 数 偏 移 , 偏 移 量 为 2e-1 -1 , 其 中 e 是exponent的宽度(位数)。原创 2024-05-04 22:49:37 · 1410 阅读 · 0 评论 -
基于FPGA的数字图像处理【2.2】
在计算机科学中,查找表是用简单的查询操作替换运行时计算的数组或者associative array这样的数据结构。由于从内存中提取数值经常要比复杂的计算速度快很多,因此这样得到的速度提升是很显著的。一个经典的例子就是三角表。每次计算所需的正弦值在一些应用中可能会慢得无法忍受,为了避免这种情况,应用程序可以在刚开始的一段时间计算一定数量的角度正弦值,譬如计算每个整数角度的正弦值,在后面的程序需要正弦值的时候,使用查找表从内存中提取临近角度的正弦值而不是使用数学公式进行计算。原创 2024-05-04 21:58:27 · 882 阅读 · 0 评论 -
基于FPGA的数字图像处理【2.1】
如果前级操作的时间恰好等于后级的操作时间,那么设计最为简单,前级的输出直接接入后级的输入即可;流水线处理是高速设计中的一个常用设计手段,如果某个设计的处理流程分为若干步骤,并且整个数据处理是“单流向”的,即没有反馈或者迭代运算,前一个步骤的输出是下一个步骤的输入,那么可以考虑采用流水线设计方法来提高系统频率。流水线操作的最大特点是数据流在各个步骤的处理从时间上看是连续的,如果将每个操作步骤简化为通过一个D 触发器,那么流水线操作就类似一个移位寄存器组,数据流依次经过D触发器,完成每个步骤的处理。原创 2024-05-01 00:10:27 · 1203 阅读 · 1 评论 -
基于FPGA的数字图像处理【2.0】
{DW{1'b0}}为位宽为DW的数字0,{{DW-1{1'b0}},1'b1}为位宽为DW的数字1,将 1'b1 前面填充DW-1个0达到位宽匹配的目的,实际上是利用了Verilog的复制语法。实际应用到的FPGA中的二维数组是处理算法中的窗口,例如一个典型的二维卷积矩形窗口,算法有时候需要对这个窗口的所有像素进行同时操作,这个时候就需要将窗口的数据放入一个二维数组中。parameter关键字类似于C语言中的形参,可以在其他模块调用时实例化参数,不同的是这个参数是不可运行时更改的,而是编译时就确定好的。原创 2024-04-30 23:51:12 · 425 阅读 · 0 评论 -
基于FPGA的数字图像处理【1.9】
当然,如果想做一个通用的跨平台的控制器,示例2的方法无疑是首选。值得注意的是,在软件中,封装和模块化会带来一定程度的效率问题,而在硬件模块化的过程中,将涉及少量因布局布线而带来的硬件成本问题。冗余逻辑最常应用于在那些需要连续运行而不能出现任何问题的系统中(例如军事系统和银行系统),在这类系统中,逻辑是有备份的,在冗余硬件的后面有一个设备专门比较冗余硬件的输出。可以想象,不同的算法的转换方法千变万化,不同的窗口尺寸所带来的转换方法是有很大差别的,而在软件中,这样的算法移植性是不费吹灰之力的一件事情。原创 2024-04-29 20:32:55 · 1681 阅读 · 1 评论 -
基于FPGA的数字图像处理【1.8】
HDL语言即硬件描述语言,在传统的电子GUI设计已经越来越不能满足人们更大的“胃口”之后,硬件描述语言应运而生。这里的“大胃口”指的是更高层面的更加抽象的建模与设计,例如图像处理中的算法处理流程。硬件描述语言产生于20世纪80年代,需要注意的是这个名字“硬件描述”很好地总结了这种语言的精髓。有些初学者在刚开始学Verilog的时候,可能把它当成一门类似于C的“软件”语言。实际上。原创 2024-04-29 20:16:53 · 1622 阅读 · 0 评论 -
基于FPGA的数字图像处理【1.7】
EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、布局布线,以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。每种EDA工具都有自己的特点,一般由FPGA厂商提供的集成开发环境,如Altera的Quartus II和Xilinx的ISE,厂商提供的EDA工具在逻辑综合和设计仿真方面都不是非常优秀,因此一般都会主动提供第三方的EDA工具接口,让用户更方便地利用EDA工具。(2)原理图设计输入。原创 2024-04-28 21:28:51 · 1131 阅读 · 1 评论 -
基于梯度引导偏振度估算的图像去雾【2】
雾或霾天气下,大气粒子对光的散射作用造成光学图像细节弱化,严重影响后续图像分析与处理任 务. 现有去雾算法存在去雾后丢失图像信息、产生模糊以及天空区域过增强等问题. 本文从偏振视角与暗通道先验理 论出发,提出了一种基于直接透射光梯度特征引导的目标偏振度估算算法,进行图像去雾. 通过偏振图像获取场景与 大气偏振信息;再以暗通道先验算法估计的直接透射光梯度特征为引导,提出目标偏振度估算算法;最终将估算的目 标偏振度转为大气光强,经过原理性约束与引导滤波,得到优化的大气光强,进一步求解去雾图像与优化的目标偏振 度原创 2024-04-23 14:25:38 · 1461 阅读 · 1 评论 -
基于梯度引导偏振度估算的图像去雾【1】
雾或霾天气下,大气粒子对光的散射作用造成光学图像细节弱化,严重影响后续图像分析与处理任 务. 现有去雾算法存在去雾后丢失图像信息、产生模糊以及天空区域过增强等问题. 本文从偏振视角与暗通道先验理 论出发,提出了一种基于直接透射光梯度特征引导的目标偏振度估算算法,进行图像去雾. 通过偏振图像获取场景与 大气偏振信息;再以暗通道先验算法估计的直接透射光梯度特征为引导,提出目标偏振度估算算法;原创 2024-04-23 13:16:57 · 1377 阅读 · 0 评论