紫光同创PGL50H图像Sobel边缘检测

本原创文章由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处

适用于板卡型号:

紫光同创PGL50H开发平台(盘古50K开发板)

一:软硬件平台

软件平台:PDS_2022.1
硬件平台:小眼睛科技盘古50K开发板

二:Sobel边缘检测算法

Sobel是图像边缘检测中的一种算法,Sobel算子分为横向和纵向3×3的卷积核,两个卷积核分别与图像作平面卷积,提取水平边缘和垂直边缘,Gx和Gy分别代表横向和纵向边缘检测的图像数据,其公式如下:最后每一个像素点的Gx和Gy使用以下公式结合,便得到边缘信息的图像。

紫光同创PGL50H图像Sobel边缘检测_第1张图片

最后每一个像素点的Gx和Gy使用以下公式结合,便得到边缘信息的图像。

由于Sobel算子是平面图像的滑动卷积,使用FPGA实现是相对容易的,且具有高效率。FPGA中实现复杂的数学运算是不好处理的,G采用不开平方的近似公式实现:

三:程序设计

本设计不涉及更复杂的图像处理,所以并没有将图像数据存入DDR后再输出,一般涉及复杂或者多任务的图像处理,将图像数据存入DDR是必要的。

本设计基于小眼睛科技提供的HDMI回环实验,对输入的RGB像素值首先转灰度,转灰度后进行二值化。然后将数据存入FIFO1,在一帧中的第二行开始,将FIFO1的数据读出,并且存入FIFO2,在一帧中的第三行开始,将FIFO2的数据读出,流水实现,当场同步时,复位FIFO1和FIFO2,避免第1行和尾行像素无效的问题。

之后,将输入的像素数据和FIFO1、FIFO2输出的数据同时流水寄存三拍,形成3×3的处理像素矩阵,按照Sobel公式实现即可。最后将vs、hs、de流水延迟,与最后的输出数据对齐就可以了。

紫光同创PGL50H图像Sobel边缘检测_第2张图片紫光同创PGL50H图像Sobel边缘检测_第3张图片紫光同创PGL50H图像Sobel边缘检测_第4张图片紫光同创PGL50H图像Sobel边缘检测_第5张图片紫光同创PGL50H图像Sobel边缘检测_第6张图片紫光同创PGL50H图像Sobel边缘检测_第7张图片紫光同创PGL50H图像Sobel边缘检测_第8张图片紫光同创PGL50H图像Sobel边缘检测_第9张图片

四:边缘检测效果

Sobel边缘检测效果如下视频所示:

紫光同创PGL50H图像Sobel边缘检测

你可能感兴趣的:(fpga开发,图像处理)