SOBEL图像边缘检测器的设计

本项目使用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仿真等软件配合使用,在网络上寻找相关资料并且去深入了解,对于我的自学能力有了进一步的提高。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Rust 跨平台-Android 和鸿蒙 OS

1. 安装 rustup rustup 是 Rust 的安装和版本管理工具 $ curl --proto https --tlsv1.2 https://sh.rustup.rs -sSf | sh 该命令会安装 rusup 和最新的稳定版本的 Rust;包括: rustc Rust 编译器,用于将 Rust 代码编译成可执行文件或库。 ca…

记录在Linux(龙蜥8.6)配置jdk环境变量不生效问题

在Linux中,将jdk解压至 /opt/soft/jdk 目录中,使用root用户配置在/etc/profile中配置环境变量并source后,使用root用户是正常的,但是切换到普通用户后提示: 这个问题是普通用户对 /opt/soft/jdk 目录无执行权限 解决&…

【精选】数据治理项目实施(合集)05——解码“数据架构”,数据架构包含哪些内容?

上一篇讲到了数据治理项目的前期调研工作,继数据调研工作完成之后,就要开始关于治理工作的各项方案设计,整体方案设计包括数据架构、元数据、主数据、数据质量、数据安全、指标标签体系、数据生命周期管理和管理评价等内容。这一篇重点讲一下…

4面体空间内直链4点结构分布与占比

在30个点的4面体空间内取4个点,有30*29*28*27/2427405种取法,要求得到的4个点必须在直链上。只有144个结构符合要求,在平移操作下不重合的结构有36个。 这36个结构可以按照旋转对称性进一步分成3组0,1,4,每…

SaaS客户裂变:如何构建合作伙伴的双向沟通桥梁

在SaaS行业中,客户裂变不仅是增长的关键,更要求与合作伙伴之间建立稳固的沟通桥梁。如何构建合作伙伴双向沟通的桥梁,真正做到理解对方的价值需求,实现长期合作共赢呢? 一、明确价值共享 首先,确保双方明…

MK米客方德SD NAND磨损均衡技术

上次MK给大家讲解了MK SD NAND异常掉电保护机制,不少的工程师朋友们对此挺感兴趣,今天再和大家聊一聊SD NAND内部的另外一个核心技术SD NAND:磨损均衡(Wear Leveling)。 SD NAND内部主要由NAND Flash和Flash Controll…

秋招季的策略与行动指南:提前布局,高效备战,精准出击

6月即将进入尾声,一年一度的秋季招聘季正在热火进行中。对于即将毕业的学生和寻求职业发展的职场人士来说,秋招是一个不容错过的黄金时期。 秋招的序幕通常在6月至9月间拉开,名企们纷纷开启网申的大门。在此期间,求职备战是一个系…

stm32学习笔记---TIM输入捕获(理论部分)

目录 输入捕获简介 频率测量 测频法 测周法 测频法和测周法的区别 中界频率 如何实现测周法 输入捕获的各部分电路 电路执行的细节 主从触发模式 输入捕获基本结构 PWMI基本结构 声明:本专栏是本人跟着B站江科大的视频的学习过程中记录下来的笔记&#…

检索增强生成RAG系列1--RAG的实现

大模型出现涌现能力之后,针对大模型的应用也如雨后春笋般。但是,在大模型真正落地之前,其实还需要做好最后一公里,而这个最后一公里,其中不同应用有着不同的方法。其中prompt、微调和RAG都是其中方法之一。本系列就是针…

C++11 右值引用和移动语义,完美转发和万能引用,移动构造和移动赋值,可变参数模板,lambda表达式,包装器

文章目录 C11简介统一的列表初始化{}初始化std::initializer_list声明autodecltypenullptr 范围for循环 智能指针STL中一些变化右值引用和移动语义左值引用和右值引用左值引用与右值引用比较 右值引用使用场景和意义右值引用引用左值及其一些更深入的使用…

Spring框架FactoryBean接口的作用和应用

一、FactoryBean源码解读 FactoryBean<T> 是 Spring 框架 beans.factory包中的一个接口&#xff0c;从字面意思可以理解为工厂bean&#xff0c;它是干什么的&#xff0c;类名上的泛型又是指什么&#xff0c;有什么作用&#xff1f; 注释看不懂没关系&#xff0c;先看一…

一键智控,舒适无限:网关在风机盘管智能温控中的应用

风机盘管智能控制系统采用钡铼技术系列无线网关&#xff0c;搭配各类风机设备及传感器组成无线物联中央空调室内机管理系统&#xff0c;实现整个办公楼的空调环境智能化管理。在建筑舒适度的前提下&#xff0c;降低能耗&#xff0c;避免能源浪费。 网关通信接口采用无线传输的…

上班族要怎么挑选智能猫砂盆?今年最受欢迎的牌子都在这里了!

对于上班族来说&#xff0c;猫砂盆里的猫屎到底该如何是好&#xff0c;放到下班回来再铲&#xff0c;猫砂的臭味早就飘满屋子&#xff0c;想立刻铲掉吧&#xff0c;班不要上啦&#xff1f;可是不铲就会生细菌&#xff0c;谁也不想花个几千块去给猫咪看病吧&#xff0c;谁不希望…

PointMamba: A Simple State Space Model for Point Cloud Analysis

1. 论文基本信息 2. 创新点 介绍了第一个状态空间模型 PointMamba&#xff0c;将其应用与点云分析。PointMamba 表现出令人印象深刻的能力&#xff0c;包括结构简单性&#xff08;例如&#xff0c;vanilla Mamba&#xff09;、低计算成本和知识可迁移性&#xff08;例如&#…

大数据处理引擎选型之 Hadoop vs Spark vs Flink

随着大数据时代的到来&#xff0c;处理海量数据成为了各个领域的关键挑战之一。为了应对这一挑战&#xff0c;多个大数据处理框架被开发出来&#xff0c;其中最知名的包括Hadoop、Spark和Flink。本文将对这三个大数据处理框架进行比较&#xff0c;以及在不同场景下的选择考虑。…

测绘局内外网文件导入导出,怎样才能效率安全两手抓?

测绘局负责进行各种基础测绘工作&#xff0c;如地形测量、地籍测绘、海洋测绘等&#xff0c;获取并更新国家基础地理信息数据。这些数据是国民经济建设、城市规划、资源调查、环境保护等各个领域的重要基础资料。对于维护国家地理信息安全、促进国民经济和社会发展具有重要意义…

工业边缘计算网关

1 介绍 HINETG系列边缘计算网关&#xff08;Linux操作系统&#xff09;&#xff0c;是华辰智通的—款面向工业现场设备接入、数据采集、设备监控的工业级边缘计算网关。采用ARM Cortex-A7 800MHz高性能CPU,拥有以太网、串口、CAN口、IO口等丰富的接口&#xff0c;支持以太网、…

专业软件测试公司分享:安全测评对于软件产品的重要性

在互联网普及的今天&#xff0c;随着各类软件的大规模使用&#xff0c;安全问题也变得愈发突出。因此&#xff0c;对软件进行全面的安全测评&#xff0c;不仅可以有效保障用户的信息安全&#xff0c;还能提升软件产品的信任度和市场竞争力。 安全测评对于软件产品的重要性就如…

6.26.4 基于视觉变换的乳房x光片分类迁移学习

乳房x线摄影(MG)在乳腺癌的早期发现中起着重要作用。MG可以在早期发现乳腺癌&#xff0c;即使是不能感觉到肿块的小肿瘤。然而&#xff0c;由于mg的复杂性和放射科医生进行的大量检查&#xff0c;可能会出现误诊。为了给放射科医生提供一个公正的视角&#xff0c;应用图像处理方…

基于Vue 3.x与TypeScript的PPTIST本地部署与无公网IP远程演示文稿

文章目录 前言1. 本地安装PPTist2. PPTist 使用介绍3. 安装Cpolar内网穿透4. 配置公网地址5. 配置固定公网地址 前言 本文主要介绍如何在Windows系统环境本地部署开源在线演示文稿应用PPTist&#xff0c;并结合cpolar内网穿透工具实现随时随地远程访问与使用该项目。 PPTist …