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

news/2024/7/21 4:28:34 标签: fpga开发, 图像处理

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

适用于板卡型号:

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

一:软硬件平台

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

二:Sobel边缘检测算法

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

最后每一个像素点的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流水延迟,与最后的输出数据对齐就可以了。

四:边缘检测效果

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

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


http://www.niftyadmin.cn/n/5152793.html

相关文章

【星海出品】VUE(四)

事件处理 事件内联JS语句&#xff08;类似于onclick&#xff09; 方法事件处理器&#xff1a;一个指向组件上定义的方法的属性名或是路径。 App.vue关闭掉了&#xff0c;所以就要重新运行一下。 <template><h3>event demo</h3><button click"count…

【JAVA学习笔记】60 - 坦克大战1.0-绘图坐标体系、事件处理机制

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter16/src/com/yinhai 绘图坐标体系 一、基本介绍 下图说明了Java坐标系。坐标原点位于左上角&#xff0c;以像素为单位。在Java坐标系中&#xff0c;第一个是x坐标&#xff0c;表示当前位置为…

在搜索引擎中屏蔽csdn

csdn是一个很好的技术博客&#xff0c;里面信息很丰富&#xff0c;我也喜欢在csdn上做技术笔记。 但是CSDN体量太大&#xff0c;文章质量良莠不齐。当在搜索引擎搜索技术问题时&#xff0c;搜索结果中CSDN的内容占比太多&#xff0c;导致难以从其他优秀的博客平台中获取信息。因…

人们常常下定决心“不改变”

"因为我的性格很悲观" 有的人会觉得一些事情发生&#xff0c;是自己性格使然&#xff0c;改变不了。 但其实性格是可以改变的。 这听起来似乎不太现实&#xff0c;自己的性格就是这样&#xff0c;怎么会改变&#xff1f; 那换种表达&#xff0c;我们看待世界的方式可…

PDF文件解析

一、PDF文件介绍 PDF是英文Portable Document Format缩写&#xff0c;就是可移植的意思&#xff0c;它是以PostScript语言图象模型为基础&#xff0c;无论在哪种打印机上都可保证精确的颜色和准确的打印效果&#xff0c;PostScript咱也不懂&#xff0c;估计和SVG的原理差不多吧…

静态、友好、内在:解析C++中的这些特殊元素和对象复制的优化

W...Y的主页 &#x1f60a; 代码仓库分享&#x1f495; &#x1f354;前言&#xff1a; 前面我们学习了C中关于类与对象的许多知识点&#xff0c;今天我们继续学习类与对象&#xff0c;最后再总结一下类与对象中的一些关键字内容&#xff0c;以及需要注意的细节。满满的干货…

NNDL 作业6 卷积

一、概念 &#xff08;一&#xff09;卷积 &#xff08;1&#xff09;什么叫卷积 卷积、旋积或褶积(英语&#xff1a;Convolution)是通过两个函数f和g生成第三个函数的一种数学运算&#xff0c;其本质是一种特殊的积分变换&#xff0c;描述一个函数和另一个函数在某个维度上…

LeetCode--175. 组合两个表

文章目录 1 题目描述2 测试用例3 解题思路3.1 解法 1: 4 相似题目 1 题目描述 表: Person ---------------------- | 列名 | 类型 | ---------------------- | PersonId | int | | FirstName | varchar | | LastName | varchar | ------------------…