Nexys4DDR+OV7670实现sobel算子边缘检测系统

在之前发布的实验中,已经实现Nexys4DDR+OV7670实时视频采集系统,在此基础上进行sobel边缘检测处理与显示
硬件环境:Nexys4 DDR
软件环境 :vivado 2018.2
编程语言 : VHDL/verilog
整体思路同灰度图像实验大体类似,输入和输出端口是相同的,不同之处在于算法的实现过程,sobel边缘检测的理论知识大家可以查查详细的过程,在这里简要说下算法的过程,主要通过33的矩阵进行梯度的计算,然后在与设定的阈值进行比较 ,首先用FIFO缓存3行像素,FIFO需要用两个,长度是640,宽度8位,这样可以得到3行像素,然后在依次取33,也就是9个像素进行计算,需要用到几个公式去计算梯度,最后得到一个数值,8位的输出,然后与设定的阈值进行比较,输出同之前讲的灰度输出方法二一致。
硬件连接图与灰度处理一样。
整体工程RTL:
在这里插入图片描述

sobel边缘检测的结果:
在这里插入图片描述
在这里插入图片描述

显示的结果会收到光照的影响,因为很亮的地方会显示出白色,还有瓶子的瓶盖处为白色,所以受到光照影响后与后面的白墙都是白色所以看不清楚,可以看旁边的小瓶子,可以显示出边缘,体现出边缘检测的特点。

原创文章 6 获赞 6 访问量 178

猜你喜欢

转载自blog.csdn.net/QQ_778132974/article/details/105882345