我谈Sobel算子与高斯一阶微分的关系

现在算力提升了,最常用的一阶差分边缘检测算子已经不是Sobel算子了,而是高斯一阶微分。

高斯一阶微分

顾名思义,高斯函数的一阶导数。
在这里插入图片描述

Derivative of Gaussian 1D

一维直接扩展到二维。

在这里插入图片描述
禹晶、肖创柏、廖庆敏《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》P238
在这里插入图片描述
MATLAB中的实现。

    t = (-width:width);gau = exp(-(t.*t)/(2*ssq))/(2*pi*ssq);     % the gaussian 1D filter% Find the directional derivative of 2D Gaussian (along X-axis)% Since the result is symmetric along X, we can get the derivative along% Y-axis simply by transposing the result for X direction.[x,y]=meshgrid(-width:width,-width:width);dgau2D=-x.*exp(-(x.*x+y.*y)/(2*ssq))/(pi*ssq);% Convolve the filters with the image in each direction% The canny edge detector first requires convolution with% 2D Gaussian, and then with the derivative of a Gaussian.% Since Gaussian filter is separable, for smoothing, we can use% two 1D convolutions in order to achieve the effect of convolving% with 2D Gaussian.  We convolve along rows and then columns.%smooth the image outaSmooth=imfilter(a,gau,'conv','replicate');   % run the filter across rowsaSmooth=imfilter(aSmooth,gau','conv','replicate'); % and then across columns%apply directional derivativesax = imfilter(aSmooth, dgau2D, 'conv','replicate');ay = imfilter(aSmooth, dgau2D', 'conv','replicate');mag = sqrt((ax.*ax) + (ay.*ay));magmax = max(mag(:));if magmax>0mag = mag / magmax;   % normalizeend

Sobel

在这里插入图片描述
Sobel算子可以分解为一步高斯平滑和一步中心差分。所以,它可以看做高斯一阶微分的整数近似形式。

Sobel算子的数学推导是四个方向的相加,模板推导出来后,我们可以从上面的角度解释。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue-router3基本使用

vuex基本使用 vue2 对应的 vuex、vue-router 都为3. 项目创建与框架安装如下 vue create hellorouter3 npm install vue-router3 npm i vuex3 npm install npm run serve 处理新建About组件报错 根路径下创建.eslintrc.js文件,其内容如下: module.ex…

程序员:数字时代的先锋

随着科技的不断进步,程序员这一职业群体逐渐成为社会中不可或缺的一部分。他们以智慧和汗水为世界带来更多的便捷与创新。今天,我们将庆祝1024程序员节,这是一个向全球程序员们表达敬意和感激的节日。让我们一同走进程序员的内心世界&#xf…

Unity 实现音频(mp3)可控制进度条

目录 前言 一、拼UI 二、上代码 前言 效果如图:(因为是GIF格式,录不上音频) 一、拼UI 1.新建空物体添加AudioSource,给AudioSource添加音频文件,取消勾选PlayOnAwake,勾选上Loop 2.创建Slid…

VMware虚拟机中centos磁盘扩容(非VG分区挂载方案)

目录 1、虚拟机磁盘扩容2、查看磁盘分区3、编辑磁盘分区4、调整文件系统大小 搭建dify的时候发现虚拟机的磁盘空间不够了;搜索了很多教程都是用的vg分区去扩展的;没有part类型直接扩容的教程;然后自己摸索了下;特此记录分享 1、虚…

docker-compose-lnmp-wordpress

使用 docker-compose 在 CentOS 7 上编写并部署 LNMP (Linux, Nginx, MySQL, PHP) 环境的 YAML 文章目录 部署步骤:1. 安装 Docker 和 Docker Compose1.1安装 Docker:1.2安装 Docker Compose: 2.创建目录结构3.编写docker-compose.yml4.ngin…

K8S调度不平衡问题分析过程和解决方案

不平衡问题排查 问题描述: 1、业务部署大量pod(据反馈,基本为任务型进程)过程中,k8s node内存使用率表现不均衡,范围从80%到百分之几; 2、单个node内存使用率超过95%,仍未发生pod驱逐,存在node…

LabVIEW提高开发效率技巧----离线调试

离线调试是LabVIEW开发中一项重要的技巧,通过使用Simulate Signal Express VI生成虚拟数据,开发者能够有效减少对实际硬件的依赖,加速开发过程。这种方法不仅可以提高开发效率,还能降低成本,增强系统的灵活性。 ​ 离…

不同企业规模,外贸财务系统如何灵活应对

ZohoBooks外贸财务系统适用于不同规模企业。小型企业注重成本和易用性,中型企业追求性价比,大型企业看重全面性、数据安全和集成性。企业选择时需考虑实际需求和成本,建议先试用再决定。 一、小型外贸企业 小型外贸企业通常业务规模相对较小…

使用Airtest自动化某云音乐爬取歌曲名称

简介 本文将介绍如何使用Airtest自动化工具来模拟用户操作,从某云音乐中爬取与特定关键词相关的歌曲名称。我们将以搜索“文字”相关的歌曲为例,并将结果保存到本地文件。 准备工作 安装Airtest并配置好Android设备或模拟器。确保你的设备上已安装某云…

项目管理新趋势!2024年,Jira与禅道你更倾向谁?

一、 项目管理软件新趋势概述 2024 年,项目管理软件呈现出诸多新趋势,这些趋势对于项目管理的重要性日益凸显。 在数字化转型方面,项目管理软件成为企业实现数字化转型的关键工具。越来越多的企业认识到,通过项目管理软件可以实…

【T+】畅捷通T+软件更新补丁提示当前系统中没有安装T+产品

【问题描述】 在更新畅捷通T软件补丁的时候, 提示:当前系统中没有安装T产品。但是本机电脑上还能正常打开软件操作使用。 【解决方法】 首先查看控制面板程序中没有T产品,即下图没有T产品信息。 原因是因为控制面板注册表中没有T产品信息。…

机器学习-树结构2-随机森林

上一篇的链接: 机器学习 - 树结构1 - 随机森林-CSDN博客 随机森林的改进方向1: 现有的随机森林中不同决策树中特征的选取是随机的,即先用哪个特征对样本进行分类,再用哪个特征对样本进行分类,特征的选取是随机的&…

[Python学习日记-54] 软件开发目录设计规范

[Python学习日记-54] 软件开发目录设计规范 简介 为什么要设计好目录结构? 目录组织方式 关于 README 的内容 关于 setup.py 和 requirements.txt 关于配置文件的使用方法 简介 我们在浏览一些开源项目或者是一些安装后的软件的时候会发现,不同的两…

解决:IntelliJ IDEA 项目中代码文件不能运行的问题(即:J 标文件的问题)

1、问题描述: 其一、需求为: 想要通过 IntelliJ IDEA 软件打开原 Eclipse 项目文件或新 Java 项目,能正常运行 .java 文件中的代码; 其二、问题描述为: A、通过 IntelliJ IDEA 打开 java 项目,并在打开具体的 .jav…

记nvm管理node

前言 解决来回切换node版本适应不同项目 一、nvm是什么? nvm是用于管理多个 nodejs 的版本控制工具 二、使用步骤 1.卸载nodeJs 若是本地原先有nodeJs版本的话需要先卸载,若是没有则跳过这一步,可以通过命令行来确定是否存在node node…

【C++11】右值引用和移动语义

1 右值引用和移动语义 C98的C语法中就有引用的语法,而C11中新增了的右值引用语法特性,C11之后我们之前学习的引用就叫做左值引用。无论左值引用还是右值引用,都是给对象取别名。 1.1 左值和右值 左值是⼀个表示数据的表达式(如变量名或解引用…

HbuilderX 连接 Genymotion 模拟器

最近在琢磨 uni-app 开发 app 应用,并且想要基于模拟器调试;但模拟器安装好以后,Hbuilder 始终识别不了(识别成功了也运行不了代码) 模拟器:Genymotion ;这款模拟器用于开发调试是比较流畅的。当…

如何禁止上班期间浏览无关网站?

禁止员工在上班期间浏览无关网页主要是为了提升工作效率和生产力,确保员工能够专注于工作任务。同时,这种做法有助于降低网络安全风险,防止恶意软件和钓鱼攻击,减少数据泄露和法律风险,维护公司的专业形象,…

【系统配置】命令行修改统信UOS的grub启动延时

往期好文:【命令操作】Linux中多种关机和重启的命令介绍 | 统信 | 麒麟 | 方德 Hello,大家好啊!今天给大家带来一篇关于如何通过命令行配置统信UOS系统的启动延时的文章。在某些场景中,调整系统的启动延时可以帮助用户在系统启动过…

实践OpenVINO™ GenAI

前言 随着 ChatGPT 等聊天机器人的风暴席卷全球,生成式预训练 Transformers (GPT) 在开发者中正在成为家喻户晓的新名字。生成式 AI(GenAI) 的发展,尤其是大语言模型和聊天机器人的进步很快、变化不断&…