SOBEL图像边缘检测器的设计

news2024/11/16 12:46:50

本项目使用FPGA设计出SOBEL图像边缘检测器,通过分析项目在使用过程中的工作原理和相关软硬件设计进行分析详细介绍SOBEL图像边缘检测器的设计。

资料获取可联系wechat 号:comprehensivable

边缘可定义为图像中灰度发生急剧变化的区域边界,它是图像最基本的特征。边缘检测主要就是(图像的)灰度变化的度量、检测和定位,它是图像分析和模式识别的主要特征提取手段,它在计算机视觉、图像分析等应用中起着重要的作用,是图像分析与处理中研究的热点问题。在过去的20年里产生了许多边缘检测器,而Sobel算法只涉及加法操作,但却可以得到很好的划分效果,因而是图像处理系统中最常用的边缘检测算法

Sobel算法包括带4个3×3掩码的输入图像数据,即Sobel算子,它设置权重来检测水平、垂直、左对角、右对角各个不同方向上密度幅度的不同。这个过程通常被称为过滤。我们来看像素窗口(3×3),如图2所示。水平、垂直、左对角、右对角各图像方向上密度幅度的变化可以用如下算子进行计算:

H=(Q0+2Q3+Q6)-(Q2+2Q5+Q8);V=(Q0+2Q1+Q2)-(Q6+2Q7+Q8);

DR=(Q1+2Q0+Q3)-(Q5+2Q8+Q7);DL=(Q1+2Q2+Q5)-(Q3+2Q6+Q7);

H,V,DL,DR这四个参数用于计算梯度大小和方向。

对梯度大小的一个普遍估计值为:Magnitude=Max(H,V,DR,DL)

H=(Q0+2Q3+Q6)-(Q2+2Q5+Q8);V=(Q0+2Q1+Q2)-(Q6+2Q7+Q8);

DR=(Q1+2Q0+Q3)-(Q5+2Q8+Q7);DL=(Q1+2Q2+Q5)-(Q3+2Q6+Q7);

Q0Q3Q6
Q1[i,j]Q7
Q2Q5Q8

H,V,DL,DR这四个参数用于计算梯度大小和方向。                

我们通过对图像灰度作直方图分析后,便可以给出区分度阀值

Threshold,区分度阀值往往要借助一定的经验并需要反复调整。如果Magnitude大于Threshold,则该像素被声明为边界像素,否则为一般像素。

本课题就是要求使用LPM兆功能块设计和VHDL程序设计相结合的方式或全部采用VHDL程序设计方式,用FPGA/CPLD实现Sobel算法。


图1.1为一个DSP+FPGA/CPLD的图像处理系统的总体框图,本课题就是设计图中的图像边缘检测协处理器,并且能够绘画出图形边缘如图1.2所示;

图1.1  DSP+FPGA /CPLD 图像处理系统的组成框图

图1.2  实验效果


由于Sobel算法只涉及加法操作,但却可以得到很好的划分效果,因而是图像处理系统中最常用的边缘检测算法。

Sobel算法包括带4个3×3掩码的输入图像数据,即Sobel算子:

H=(Q0+2Q3+Q6)-(Q2+2Q5+Q8);

V=(Q0+2Q1+Q2)-(Q6+2Q7+Q8);

DR=(Q1+2Q0+Q3)-(Q5+2Q8+Q7);

DL=(Q1+2Q2+Q5)-(Q3+2Q6+Q7);

H,V,DL,DR这四个参数用于计算 水平、垂直、左对角、右对角各个不同方向的梯度大小和方向(该过程称之为过滤)。

梯度大小的估计公式:Magnitude=Max(H,V,DR,DL)。

边缘的判定:如果Magnitude>Threshold,则该像素为边界像素,否则为一般像素。处理像素端见图1.3所示;

Sobel的滤波函数为:

H=(Q0+2Q3+Q6)-(Q2+2Q5+Q8);

V=(Q0+2Q1+Q2)-(Q6+2Q7+Q8);

DR=(Q1+2Q0+Q3)-(Q5+2Q8+Q7);

DL=(Q1+2Q2+Q5)-(Q3+2Q6+Q7);

Magnitude=Max(H,V,DR,DL)

为了减少设计的复杂度,可将Sobel的滤波函数中的乘法运算可以改写成加法运算:

H=(Q0+Q3+Q3+Q6)-(Q2+Q5+Q5+Q8);

V=(Q0+Q1+Q1+Q2)-(Q6+Q7+Q7+Q8);

DR=(Q1+Q0+Q0+Q3)-(Q5+Q8+Q8+Q7);

DL=(Q1+Q2+Q2+Q5)-(Q3+Q6+Q6+Q7);

对于数据的处理,我们估算一下分别使用单片机、DSP、CPLD/FPGA所需的时间。

(1)如果使用12M的单片机:完成一次Sobel滤波操作需要的时间至少为:(24×2+20+2×3+2)×1us=72us。对于一幅600×800像素的图像,总共的时间为:600×800×72us=32s。

(2)若使用40M六级流水的DSP,他们的处理时间大概为 32s/24=1.4s。

(3)如果使用CPLD/FPGA进行自行设计,通过采用并行流水线技术假设使用50M的系统时钟,处理完一个像素点的时间为 4×1/(50M)=80ns,处理完一帧图像的时间为 800×600×80ns=38.4ms,结果处理速度比DSP高了大约两个数量级,从上可以看出,使用CPLD/FPGA进行自行设计有关图像处理模块,对整个系统速度的改善是很非常明显的。


通过使用VHDL代码设计出对应的模块,以下为部分RTL图; 

UPDATE的RTL图 

读取的RTL图 

由于本次实验要求只需要在软件上显示图像并且进行边缘化即可,无需在硬件在显示出像素的数据,整体RTL图见图4.1所示,主要包括俩个模块,即SOBEL算法的部分和数据输出的部分,在SOBEL算法内部又包括了许多的模块,从而达到我们需要设计的目的。

编译完成后调用ALTERA-MODELSIM仿真如下图4.4所示;

 图4.4 调用ALTERA-MODELSIM仿真

总结:

对SOBEL算法有了初步的了解,并且本次SOBEL算法对图形边缘检测能够很好的应用,对嵌入式的功能有了更多的知晓,也明白VHDL语言的强大之处;

本次实验网上资料较多,要求使用matalab软件和EDA仿真等软件配合使用,在网络上寻找相关资料并且去深入了解,对于我的自学能力有了进一步的提高。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1869463.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年G1工业锅炉司炉证考试题库及G1工业锅炉司炉试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2024年G1工业锅炉司炉证考试题库及G1工业锅炉司炉试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作业人员上岗证考试大纲…

LED裸眼3D显示屏:开启视觉新体验

随着科技的不断进步,LED显示屏作为一种新型的显示技术,已经被广泛应用于各个领域。而其中,LED裸眼3D显示屏更是因其独特的技术原理和令人震撼的视觉效果,成为了业界关注的焦点。 裸眼3D显示屏是一种前沿的显示技术,它…

超越规模的冒险之旅:引导人工智能价值对齐

在茫茫技术之林中,人工智能凭借大模型占据了重要地位。人们已经不再局限于人机对弈和AI识图,开始探索那些能够模仿人类思考的机器。无论是日常聊天、文本写作,还是[在完美的提示词引导下创作出惊艳的诗歌],我们不得不承认AI工具已…

计算机网络:如何隐藏真实的IP和MAC地址?

目录 一、什么是MAC地址二、什么是IP地址三、如何隐藏真实的MAC地址四、如何隐藏真实的IP地址 一、什么是MAC地址 MAC地址,全称为媒体访问控制地址(Media Access Control Address),是一种用于网络通信的唯一标识符。它是由IEEE 8…

Windows 计划任务 运行 Bat 的配置参考

打开Windows 计划任务- 创建任务 属性设置 - 常规 属性设置 - 触发器 属性设置 - 操作

今天不看文章,明天变垃圾(明天收费)-----字节数据分析发展过程中所遭遇的挑战

字节数据分析发展过程中所遭遇的挑战 三个核心议题: 海量数据分析性能:会议指出Spark分析性能不足成为了一个显著问题,尤其是在需要毫秒级响应的业务场景中。实时导入与查询能力:目前Kylin只能以T1的形式提供分析服务&#xff0…

MySQL内存使用率高且不释放问题排查与总结

背景 生产环境mysql 5.7内存占用超过90%以上,且一直下不来。截图如下: 原因分析 1、确定mysql具体的占用内存大小,通过命令:cat /proc/Mysql进程ID/status查看 命令执行后的结果比较多(其他参数的含义想了解可参考这…

Redis-实战篇-实现商铺缓存与数据库的双写一致(超时剔除和主动更新)

文章目录 1、给查询商铺的缓存添加超时剔除和主动更新的策略2、根据id查询店铺2.1、queryById2.2、RedisConstants.java 3、根据id修改店铺3.1、ShopController.java3.2、update 1、给查询商铺的缓存添加超时剔除和主动更新的策略 修改ShopController中的业务逻辑,满…

ONLYOFFICE 桌面编辑器 8.1华丽登场

简介:全新ONLYOFFICE 桌面编辑器 8.1解锁全新PDF编辑、幻灯片优化与本地化体验,立即下载! 前言:在数字化时代,高效的办公协作工具是企业和个人不可或缺的利器。ONLYOFFICE,作为一款功能强大的云端和桌面办公…

亚马逊风控策略揭秘:测评系统为何这么重要?

在亚马逊这个竞争激烈的电商平台上,许多卖家都渴望通过测评来提升产品销量和排名。然而,亚马逊对测评行为的监管之严格,可以说是业内首屈一指。即便你采用的是由真实客户购买并评价的“真人测评”模式,也难免存在一定的风险。 那么…

Psychtoolbox 脑电实验范式之mp4视频绘制

1. 读取 首先需要使用到Screen(‘OpenMovie’)函数,该函数可以读取mp4、gif格式的数据,具体方式如下: clear; clc; Screen(Preference, SkipSyncTests, 1); screens Screen(Screens); screenNum max(screens); [window, screenRect] Scr…

参加六西格玛绿带培训是投资未来,还是花冤枉钱?

是否值得花费资金参加六西格玛绿带培训,取决于多个因素。 从积极的方面来看,参加六西格玛绿带培训具有以下潜在价值: 1. 提升专业技能:使您掌握一套系统的问题解决方法和流程改进工具,有助于在工作中更高效地解决复杂…

甄美天使1+3退休模式创富模型,甄美天使商业模式特点

甄美天使13退休模式级差,每个人都有机会成为千万的受益人; 坐标:厦门,我是肖琳 深耕社交新零售行业10年,主要提供新零售系统工具及顶层商业模式设计、全案策划运营陪跑等。 甄美天使的创富模型采用了社交电商的传播理…

千年织锦:中国古代包文化的辉煌历程与现代传承

追溯至远古,我们的祖先就开始利用自然界的恩赐——皮革、植物纤维等,制作出最原始的包袋。随着时间的推移,技艺的提升,包的材质逐渐丰富起来,从粗糙到精致,从简单到复杂,每一次材质的革新都是人…

Linux学习第54天:Linux WIFI 驱动:蓝星互联

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 数字化、现代化的今天,随处的WIFI给与了大众极大的方便,也感受到了科技的力量。万物互联、无线互联越来越成为一个不可逆转的趋势。现在比较火…

面试相关-接口测试常问的问题

1.为什么要做接口测试 (1)现在大多系统都是前后端分离的项目,前端和后端的进度可能不一样,那为了尽早的进入测试,前端界面没有开发完成的情况下,只要后端的接口开发完了,就可以提前做接口测试了; (2)基于安全考虑,只依赖前端进行限制,已经完全不满足系统的安全性…

DLS MARKETS外汇:日元暴跌,日本是否会再次干预汇市?

摘要 近日,日元兑美元汇率暴跌至1986年以来的最低水平,引发市场对日本政府可能再次干预汇市的猜测。尽管地缘政治紧张局势为日元带来压力,但美国和日本之间的巨大利差也是关键因素。本文将详细分析当前日元贬值的原因、日本当局的可能反应以及…

Java 自定义jackson2序列化器遇到的问题

问题1:java: 错误: 不支持发行版本 5 修改idea java环境 问题2:ClassNotFoundException: com.fasterxml.jackson.annotation.JsonMerge 缺少 jar 包:jackson-annotations 引入依赖的地址:https://mvnrepository.com/artifact/c…

武汉高校大学智能制造实验室数字孪生可视化系统平台建设项目验收

随着科技的不断进步和工业4.0的深入推进,智能制造已成为现代工业发展的重要方向。在这一背景下,武汉高校大学智能制造实验室积极响应国家号召,致力于将先进的数字孪生技术与智能制造教育相结合,打造了一个集教学、实训、科研于一体…

python下载安装入门(一)

一.下载安装 1、官网下载地址: Python Releases for Windows | Python.org 2、下载安装 1.下载python包:点击下载 2.安装 2.默认点击next即可 3.选择你想安装的路径,点击install即可 4.这里如果出现管理员字样,点击授权即可 安…