图像边缘特征

2023-10-27

     图像边缘是图像的重要特征,是图像中特性(如像素灰度、纹理等)分布的不连续处,图像周围特性有阶跃变化或屋脊状变化的那些像素集合。图像的边缘部分集中了图像的大部分信息,一幅图像的边缘结构与特点往往是决定图像特质的重要部分。图像边缘的另一个定义是指其周围像素灰度变化不连续的那些像素的集合。边缘广泛存在于物体与背景之间、物体与物体之间,因此,边缘是图像分割、图像理解及图像识别的重要特征。
图像边缘检测主要用于增强图像中的轮廓边缘、细节以及灰度跳变部分,形成完整的物体边界,达到将物体从图像中分离出来或将表示同一物体表面的区域检测出来的目的。目前为止最通用的方法是检测亮度值的不连续性,用一阶和二阶导数检测的。
(1)微分法
微分法的目的是利用微分运算求信号的变化率,加强高频分量的作用,从而使轮廓清晰。遵循如下两个基本准则之一:找到亮度的一阶导数在幅度上比指定的阈值大的地方;找到亮度的二阶导数有零交叉的地方。
(2)差分边缘检测方法
利用像素灰度的一阶导数算子在灰度迅速变化处得到高值来进行奇异点的检测。它在某一点的值就代表该点的边缘强度,通过对这些值设置阈值来进一步得到边缘图像。差分边缘检测方法是最原始、最基本的方法。但要求差分方向与边缘方向垂直,这就需要对图像的不同方向(一般为垂直方向、水平方向和对角线方向)都进行差分运算,增加了实际运算的繁琐性,目前很少采用。
(3)Roberts边缘检测算子
Roberts边缘检测算子根据任意一对互相垂直方向上的差分可用来计算梯度的原理,采用对角线方向相邻两像素之差然后计算出Roberts的梯度幅度值.
Roberts检测器较为简单,但具有一些功能上的限制,例如,它是非对称的,而且不能检测诸如45°倍数的边缘。然而,它还是经常用于硬件实现中,因为它既简单又快速。
(4)Sobel边缘检测算子
对数字图像的每个像素,考察它上下左右邻点灰度的加权差,与之接近的邻点的权大。
Sobel算子很容易在空间上实现,边缘检测效果较好,且受噪声的影响也较小。邻域增大抗噪性会更好,但计算量也会增大,得出的边缘也会相应变粗。Sobel算子会检测出许多伪边缘,边缘定位精度不够高,在精度要求不高时是一种较常用的边缘检测方法。
(5)Prewitt边缘检测算子
图像中的每个像素都用这两个核作卷积,一个核对垂直边缘影响最大,另一个核对水平边缘影响最大。两个卷积的绝对值的最大值作为该点的输出值。不能简单的将小于0的值处理为0,这样会丢失信息。它比Sobel检测器在计算上要简单一些,但比较容易产生一些噪声。
(6)拉普拉斯边缘检测算子
拉普拉斯边缘检测算子是一种二阶微分算子,与其它边缘检测方法的不同之处在于,该方法是一种各向同性的检测方法,即其边缘的增强程度与边缘的方向无关,从而可以满足不同走向的边缘锐化的要求。

     拉普拉斯算子自身很少被直接用作边缘检测,因为二阶导数对噪声具有无法接受的敏感性,它的幅度会产生双边缘,而且它不能检测边缘的方向。然而,当与其它边缘检测技术组合使用时,拉普拉斯算子是一种有效的补充方法。例如,虽然它的双边缘使得它不适合直接用于边缘检测,但该性质可用于边缘定位。

     在MATLAB中可以由edge函数实现各算子对边缘的检测,其调用格式为:
     BW = edge(I,’METHOD’)—自动选择阈值用指定的算子进行边缘检测;
     BW = edge(I,’METHOD’,THRESH)—根据给定的阈值THRESH用指定的算子进行边缘检测,忽略所有小于阈值的边缘。当THRESH为空时,自动选择阈值;
     [BW, THRESH] = edge(I,’METHOD’,…)—返回edge使用的阈值,以确定哪个梯度值足够大到可以称为边缘点。
     其中,I为输入图像。返回图像BW为与I同大的二值图像,1表示边缘,0表示非边缘。I是unit8型、unit16型,或者是double型,BW是unit8型。
    METHOD:使用检测算子的类型,经常使用的有:
    sobel:缺省值,用导数的sobel近似值检测边缘,那些梯度最大的点返回边缘。
    roberts:用导数的roberts近似值检测边缘,那些梯度最大的点返回边缘。
   prewitt:用导数的prewitt近似值检测边缘,那些梯度最大的点返回边缘。
   LoG:用LoG算子检测边缘。
  Canny:用Canny算子检测边缘。
  THRESH:指定的阈值,所有不强于thresh的边缘都被忽略。

  由edge函数实现各算子对图像的边缘检测
  clear all;
  I = imread('d:\office.bmp');
  I=rgb2gray(I);
  BW1 = edge(I,'sobel'); %利用Sobel算子进行边缘检测
  BW2 = edge(I,'roberts'); %利用roberts算子进行边缘检测
  BW3 = edge(I,'prewitt'); %利用prewitt算子进行边缘检测
  BW4 = edge(I,'log'); %利用log算子进行边缘检测
  BW5 = edge(I,'canny'); %利用canny算子进行边缘检测
  subplot(2,3,1),imshow(I)
  subplot(2,3,2),imshow(BW1)
  subplot(2,3,3),imshow(BW2)
  subplot(2,3,4),imshow(BW3)
  subplot(2,3,5),imshow(BW4)
 subplot(2,3,6),imshow(BW5)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

图像边缘特征 的相关文章

  • 基础12:高阶函数

    高阶函数 高阶函数英文叫 Higher order function 它的定义很简单 就是至少满足下列一个条件的函数 接受一个或多个函数作为输入 输出一个函数 也就是说高阶函数是对其他函数进行操作的函数 可以将它们作为参数传递 或者是返回它
  • springboot项目启动成功后执行一段代码的两种方式

    转自 https www cnblogs com zuidongfeng p 9926471 html 1 实现ApplicationRunner接口 package com lnjecit lifecycle import org spr
  • netcat小工具使用

    接收端 nc l 1789 gt test1 txt 发送端 nc 1 1 1 1 1789 lt test1 txt 使用nc传文件要比scp快不少 当然 安全性低了 root 12 nc h usage nc 46DdhklnrStUu
  • 小米笔记本pro开机出现no bootable devices

    用了4个月的小米笔记本开机突然出现no bootable devices 无法正常启动 很烦 如下图 上网查了资料 说是无法正确识别硬盘 然后 小米论坛的朋友 也有反馈 说很他们的小米笔记本也都出现了类似的情况 至今没有找到解决的方法 这可
  • 51单片机AD模数转换(SPI通信)

    一 AD DA介绍 AD AnalogtoDigital 模拟 数字转换 将模拟信号转换为计算机可操作的数字信号 DA Digital to Analog 数字 模拟转换 将计算机输出的数字信号转换为模拟信号 AD DA转换打开了计算机与模
  • python pandas定位表格中的某一单元并修改——at

    python pandas定位表格中的某一单元并修改 at 首先 我们创造一个用来进行测试的dataframe import pandas data aaa abc1 abc2 bbb bc1 bc2 ccc c1 c2 df pandas
  • Nacos安装详细过程

    本文来说下Nacos 注册中心 配置中心 安装详细过程 文章目录 初识Nacos Nacos开发必知 安装Nacos 本文小结 初识Nacos Nacos 致力于帮助您发现 配置和管理微服务 Nacos 提供了一组简单易用的特性集 帮助您快
  • 【转】介绍线性代数

    color red 这里转一个别人写的对线性代数的理解 觉得他已经写出了线性代数的魂 可惜的是我也是从网上别人的转载中摘录的 未知作者的大名啊 color 今天先谈谈对线形空间和矩阵的几个核心概念的理解 这些东西大部分是凭着自己的理解写出来
  • Canvas画布基本功能及实现网页签名功能

    canvas 简介
  • C++之泛型编程

    目录 模板 模板的特点 函数模板 前言 函数模板的使用方式 函数模板具体案例 使用模板的注意事项 普通函数与函数模板间的区别 具体案例 普通函数与函数模板调用规则 模板的局限性 具体化模板 类模板 前言 类模板与函数模板的区别 类模板中成员
  • JS URL的编码解码以及使用场景

    前端事件交互 有的时候会用到url作为参数 然而你会发现直接把url当个字符串来处理会发现有很多的局限性 比如说我想添加一个参数什么的 或者进行个解析比较麻烦 而且有的时候解析url有的时候因为特殊符号什么的也是个问题 于是有了JS的url
  • STDCnetwork BiSeNet 的实时语义分割的rethinking

    STDCnetwork Rethinking BiSeNet For Real time Semantic Segmentation重新思考 BiSeNet 的实时语义分割 BiSeNet 28 27 已被证明是一种流行的用于实时分割的双流
  • 关于新手Myeclipse(最新V2019.12.5) 第一次创建web project,运行JSP,详细步骤,所遇到的问题及解决方案。

    Myeclipse 创建web project 运行JSP 详细步骤 具体Myeclipse的安装及环境配置我不再赘述 我在这里用的Myeclipse的版本为V2019 12 5 打开Myeclipse 创建一个新的Workspaces 点
  • 一文读懂微生物扩增子16s测序

    微生物多样性测序结果如何看 做过16s测序的小伙伴们都知道 测完之后会拿到一份结果报告 但这并不代表可以开始写文章了 看似一大堆数据图表却不知如何下手 这是很多人头疼的地方 那么怎样给报告中的数据赋予灵魂 让它真正成为对你有帮助的分析呢 一
  • 一起来用Websocket(一)开篇 Websocket!Socket在HTML5复活

    注 本文源代码点此下载 一起来用websocket 一 开篇 websocket socket在html5复活 前言 html5中有一个比较好用的特性 就是websocket 现在已集成在chrome的较新版本中 由于前段时间在项目中有用到
  • 《计算机网络》——第五章知识点

    可靠 保证接收方进程从缓存区读出的字节流与发送方发出的字节流是完全一样的 确认重传不分家 TCP的发送方在规定的时间内没有收到确认就要重传已发送的报文段 流量控制 让发送方慢点 要让接收方来得及接收 TCP利用滑动窗口机制实现流量控制 在通
  • SpringBoot项目引入jar包

    在项目过程中 有时候需要引入本地的jar包 比如企业自己的jar包或者修改过的源码包 有两种方法可以使用 一 本地maven库 把jar包打到本地maven库 然后在pom文件中加上依赖 把jar和pom文件打到maven库的命令 mvn
  • Mybatis批量操作

    当下Java开发中 数据库操作多采用Mybatis框架 它支持定制化 SQL 存储过程以及高级映射 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集 很多时候 我们需要进行大量的数据操作 如果通过循环去逐个操作 这样会导致多次请
  • 大大大模型部署方案抛砖引玉

    作者 Oldpan 编辑 oldpan博客 点击下方卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 模型部署 技术交流群 借着热点 简单聊聊大模型的部署方案 作为一个只搞过CV部署的算法工程师 在最近L

随机推荐

  • 想找一家好公司入职或者合作?那么这块天眼查GUI版本非常适合你。

    前言 天眼查是咱们都知道的一个网站了 就是可以通过这个网站来知道咱们想了解公司的一些情况 比如是不是濒临破产 有没有什么法律纠纷 所以今天在找合作公司的时候 就突发奇想的想着写一个天眼查的gui脚本 大家喜欢的话可以拿走练练手 开发工具 P
  • STM32学习笔记---电源管理

    一 STM32电源管理简介 1 电源管理简介 电源对电子设备的重要性不言而喻 它是保证系统稳定运行的基础 而保证系统能稳定运行后 又有低功耗的要求
  • web app和本地app之争 及其 iOS和Android之争

    2011年末的文章 当时还在学校 没有发表 今天贡献出来 今天和 1 我觉得你说其实是web app和本地app之争 我原来也看过别人讨论 我觉得这个看法好 如果以后多种平台并存 比如Ios Android wmphone bb 那么显然w
  • GO语言网络编程(并发编程)runtime包

    GO语言网络编程 并发编程 runtime包 1 runtime包 1 1 1 runtime Gosched 让出CPU时间片 重新等待安排任务 大概意思就是本来计划的好好的周末出去烧烤 但是你妈让你去相亲 两种情况第一就是你相亲速度非常
  • 使用PLCSIM Advanced仿真博途S7-1500 OPC UA

    你知道工控人平时在哪里交流 博途工控人社区 你知道工控人平时在哪里交流 博途工控人社区 准备工具 博途软件 UaExpert软件 UaExpert软件可以关注公众号并回复UaExpert获取 创建一个S7 1500PLC 为方便记忆 命名为
  • 数论-欧拉函数

    欧拉函数 在数论 对正整数n 欧拉函数是小于n的正整数中与n互质的数的数目 1 1 此函数以其首名研究者欧拉命名 Euler s totient function 它又称为Euler s totient function 函数 欧拉商数等
  • metasploit使用介绍

    文章目录 前言 一 metasploit介绍 1 产生原因 2 metasploit框架介绍 3 发展与壮大 二 使用metaspliot 1 模块介绍 2 模块命令基本使用 1 启动MSF 2 管理数据库 3 Msfconsole接口 4
  • [苹果开发者账号]04 申请苹果开发者账号 美国报税表

    申请苹果开发者账号时 当银行信息完成后 要填写美国报税表 填写时注意的地方 1 首先 选择报税表 使用默认的美国 2 填写美国报税表 中国的公司和中国人 全选否 3 填写详细的报税表 记录下红色箭头部分 选Corporation 公司 写报
  • python资料大全

    前言 Python是一种高级编程语言 已经成为了当今最受欢迎的编程语言之一 它被广泛用于Web开发 数据科学 人工智能 机器学习等领域 Python具有易学易用的特点 同时也具有强大的功能和灵活性 本篇博客将介绍Python的学习过程以及它
  • 多线程学习----join()的用法

    join的用法一 join 方法可以使得一个线程在另一个线程结束后再执行 如果join 方法在一个线程实例上调用 当前运行着的线程将阻塞直到这个线程实例完成了执行 首先来看个例子 author QingHe Creation on 2005
  • 修复office 2007或2010安装程序找不到Proplas.ww/Proplsww.cab

    此情况一般是我们删除了缓存MSOCache出现的 在安装office2007或10的盘下 默认是C盘 有一个隐藏文件MSOCache 在里面的All Users文件下创建 90120000 0011 0000 0000 0000000FF1
  • 二叉树的遍历C#实现,递归以及非递归

    前序遍历 输出规则 根节点 左子树 右子树 二叉树的前序遍历规则是从根节点开始 依层 逐层取 左子节点 若此节点没有 左子节点 说明此节点是叶子节点 往上 回溯 取 最小父节点的右节点 再重复 此步骤 取左子节点 直到 没有左子节点 也没有
  • 结构化方法与面向对象方法的比较

    结构化方法与面向对象方法的比较 一 结构化方法 结构化方法 Structured Methodology 采用了系统科学的思想方法 从层次的角度 自顶向下地分析和设计系统 结构化方法包括结构化分析 Structured Analysis 简
  • 20多岁年轻人应该有多少存款?

    20多岁年轻人应该有多少存款 本人22应届专升本软件工程毕业 在专科阶段做了很多兼职 保安 销售 服务员 兼职只能够个日常开销 还记得疫情那年 我专科还没毕业 被困在家里 后面4月份解封 我就早早的跟朋友去外面找工作 找了一份快递的工作 本
  • 数据结构:Trie字符串统计

    维护一个字符串集合 支持两种操作 I x 向集合中插入一个字符串 x Q x 询问一个字符串在集合中出现了多少次 共有 N 个操作 所有输入的字符串总长度不超过 1e5 字符串仅包含小写英文字母 Trie树 高效存储和查找字符串 按树结构存
  • 机器学习实践(2.1)LightGBM分类任务

    前言 LightGBM也属于Boosting集成学习模型 还有前面文章的XGBoost LightGBM和XGBoost同为机器学习的集大成者 相比越来越流行的深度神经网络 LightGBM和XGBoost能更好的处理表格数据 并具有更强的
  • 【Transformer】2、ViT:An image is worth 16x16: transformers for image recognition at scale

    文章目录 一 背景和动机 二 方法 三 效果 四 Vision Transformer 学习到图像的哪些特征了 五 代码 代码链接 https github com lucidrains vit pytorch 论文连接 https ope
  • Android Listview 以及list view适配器

    Listview 相关监听事件以及滑动按钮 适配器 是来连接数据源和图形化界面的桥梁 数组适配器arrayadapter 集合和数组 格式简单 简单适配器simpleadapter格式复杂 使用过程 星舰 添加数据元到适配器 试图展示 si
  • JAVA中scanner方法详解

    Scanner 是 Java 中的一个比较重要的类 它的作用是用来从控制台读取输入的 它可以接收字符串 整数等类型的输入 使用方法如下 1 使用 Scanner 对象 创建 Scanner 对象并传入要接收输入的字符串 Scanner in
  • 图像边缘特征

    图像边缘是图像的重要特征 是图像中特性 如像素灰度 纹理等 分布的不连续处 图像周围特性有阶跃变化或屋脊状变化的那些像素集合 图像的边缘部分集中了图像的大部分信息 一幅图像的边缘结构与特点往往是决定图像特质的重要部分 图像边缘的另一个定义是