OpenCV学习(4.6) 图像梯度

1.目标

在本教程中:

  • 你会学到如何找到图像的梯度,边缘等。
  • 你会学到如下函数:**cv.Sobel()cv.Scharr()cv.Laplacian()** 等。

图像梯度是图像处理中的一个基本概念,它用于测量图像亮度变化的强度和方向。在数学上,梯度是函数的偏导数,而在图像处理中,梯度通常用于表示图像亮度的变化率,即图像的边缘

1.Sobel 算子

Sobel算子是一种离散的差分算子,它用于计算图像亮度的变化率,即图像的梯度。Sobel算子包含两个卷积核,一个用于计算水平方向的梯度(Gx​),另一个用于计算垂直方向的梯度(Gy​)。计算梯度的公式如下:

Gx ​= ∂x/∂f​ ≈ f(x+1,y)−f(x−1,y)

Gy​ = ∂y/∂f​ ≈ f(x,y+1)−f(x,y−1)

其中,f(x,y) 表示图像在点 (x,y) 的亮度值。计算出的梯度大小 G 和方向 θ 可以通过以下公式得到:

G=Gx2+Gy2​​

θ=arctan2(Gy​,Gx​)

2.Scharr算子

Scharr算子是Sobel算子的改进版本,它提供了一种更精确的边缘检测方法。Scharr算子的卷积核权重是根据图像的尺度进行调整的,这使得它在计算梯度时更加精确,尤其是在处理较大尺度的图像时。Scharr算子的卷积核如下:

3.Laplacian

Laplacian算子是另一种用于图像处理的微分算子,它用于计算图像亮度的二阶导数。Laplacian算子可以用来检测图像中的边缘,因为它在边缘处会产生较大的响应。与Sobel和Scharr算子不同,Laplacian算子是各向同性的,这意味着它对图像中的所有方向都有相同的响应。

Laplacian算子通常通过以下卷积核来实现:

这个卷积核计算的是中心像素与周围像素的差值,从而得到中心像素的Laplacian值。这个值可以用来表示图像在该点的边缘强度。

有一个问题,就是对图像进行laplacian滤波后,用opencv和用matplib显示出的图像不一样 ,这也是一个需要回答的问题

 

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

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

相关文章

php探针代码怎么写

创建php文件并输入代码,访问文件查看php版本、环境和系统配置信息,可使用ini_set()函数定制输出,但注意在生产环境中使用时要注重安全,因为它会泄露敏感信息。 PHP探针代码撰写指南 PHP探针代码是一种脚本,可提供关于…

接口的应用、 适配器设计模式

接口的应用 适配器设计模式 Inter package com.itheima.a09;public interface Inter {public abstract void show1();public abstract void show2();public abstract void show3();public abstract void show4();}InterAdapter package com.itheima.a09; //抽象 public abs…

Elastic Search(ES)Java 入门实操(2)搜索代码

上篇解释了 ES 的基本概念和分词器。Elastic Search (ES)Java 入门实操(1)下载安装、概念-CSDN博客 Elastic Search(ES)Java 入门实操(3)数据同步-CSDN博客 这篇主要演示 Java 整合…

HQL面试题练习 —— 求连续段的最后一个数及每个连续段的个数

目录 1 题目2 建表语句3 题解 题目来源:拼多多。 1 题目 有一张表t_id记录了id,id不重复,但是会存在间断,求出连续段的最后一个数及每个连续段的个数。 ----- | id | ----- | 1 | | 2 | | 3 | | 5 | | 6 | | 8 | | …

C++11:列表初始化 初始化列表initializer_list decltype关键字 左值右值 std::move

目录 前言 列表初始化 初始化列表initializer_list decltype关键字 左值和右值 move 前言 2003年C标准委员会曾经提交了一份技术勘误表(简称TC1),使得C03这个名字取代了C98成为了C11前最新的C标准名称。不过由于C03主要是对C98标准中的…

Directory Opus 13.6 可用的apk文件右键菜单脚本

// apk文件的右键经过adb安装的脚本,可以在多个设备中选择function OnClick(clickData) {try {// 检查是否选中了文件if (clickData.func.sourcetab.selected_files.count 0) {DOpus.Output("没有选中任何文件");return;}// 获取选中的文件名var selectedFile clic…

聆思CSK6大模型开发板英语评测类开源SDK详解

离线英文评测算法SDK 能力简介 CSK6 大模型开发套件可以对用户通过语音输入的英文单词进行精准识别,并对单词的发音、错读、漏读、多读等方面进行评估,进行音素级的识别,根据用户的发音给出相应的建议和纠正,帮助用户更好地掌握单…

Java学习书籍推荐

本文推荐了Java基础,并发,虚拟机学习过程中,比较好的书籍,如果大家需要视频教程,可参考【软件开发】Java学习路线 或者B站文件夹同时会收藏其他Java视频,感谢关注。 指路:Java学习-创建者&…

全光网络与传统网络架构的对比分析

随着信息技术的飞速发展,网络已经成为我们日常生活中不可或缺的一部分。在这个信息爆炸的时代,全光网络和传统网络架构作为两种主流的网络技术,各有其特点和适用范围。本文将对这两种网络架构进行详细的对比分析,帮助读者更好地了…

【TB作品】MSP430F5529 单片机,简单电子琴

使用MSP430制作一个简单电子琴 作品功能 这个项目基于MSP430单片机,实现了一个简单的电子琴。通过按键输入,电子琴可以发出对应的音符声音。具体功能包括: 按下按键时发出对应音符的声音。松开按键时停止发声。支持C调低音、中音和高音。 …

nomachine使用记录以及录包

录包命令: rosbag record 话题名字(可以是原相机话题和执行程序的话题)rosbag play 包名(可以离线播放包的数据) rqt_image_view 话题可视化

从VS Code源码看清晰代码之美

VS Code的产品做的很优秀,其源码也质量颇高,清晰、整洁、富有美感。 下面是 src\vs\workbench\common\notifications.ts 文件中的两段代码,大家感受一下: get sticky(): boolean {if (this._sticky) {return true; // explicitl…

2024上海初中生古诗文大会倒计时4个多月:单选题真题和独家解析

现在距离2024年初中生古诗文大会还有4个多月时间,我们继续来看10道选择题真题和详细解析,以下题目截取自我独家制作的在线真题集,都是来自于历届真题,去重、合并后,每道题都有参考答案和解析。 为帮助孩子自测和练习&…

Redis到底支不支持事务?

文章目录 一、概述二、使用1、正常执行:2、主动放弃事务3、全部回滚:4、部分支持事务:5、WATCH: 三、事务三阶段四、小结 redis是支持事务的,但是它与传统的关系型数据库中的事务是有所不同的 一、概述 概念: 可以一次执行多个命令,本质是一…

STM32项目分享:智能家居安防系统

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 1.PCB图 2.PCB板及元器件图 五、程序设计 六、实验效果 七、资料内容 项目分享 一、前言 项目成品图片: 哔哩哔哩视频链接: https://www.bilibili.c…

【数据分析基础】实验numpy、pandas和matplolib

文件score.xlsx 中存放了学生的各个科目的考试成绩(如下图), 1. 编程实现:输入任意一个学号,将该学号对应的成绩,通过雷达图显示。 (1)程序代码: import pandas as pd…

9.1 Go 接口的定义

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

JavaScript 动态网页实例 —— 图像显示

图像是网页设计中必不可少的内容之一,而图像的显示方式更是关系到网站的第一印象。本章介绍图像的显示,主要包括:图片的随机显示、图像的显示和隐藏、图像的滚动显示、图像的探照灯扫描显示、多幅图像的翻页显示、图像的水纹效果显示、全景图效果显示手电照射效果显示以及雷达…

16_ Vue.js高级指南:条件渲染、列表渲染与数据双向绑定

文章目录 1. 条件渲染v-if2. 列表渲染v-for3. 数据双项绑定v-model4. 计算属性Appendix 1. 条件渲染v-if v-if标签直接接收函数或boolean类型变量 v-if 为true,则当前元素会进入到dom树v-else会自动执行 前方v-if的取反操作 v-show v-show值为true则值展示值不展示…

【Python】解决Python报错:TypeError: ‘int‘ object is not callable

​​​​ 文章目录 引言1. 错误详解2. 常见的出错场景2.1 误用变量名2.2 混淆函数与结果 3. 解决方案3.1 明确变量类型3.2 使用函数调用() 4. 预防措施4.1 代码审查4.2 单元测试 结语 引言 在Python开发中,TypeError 是一种常见的错误类型,尤其是在尝试…