Prewitt和Sobel算子

article/2025/11/9 6:12:21

在3*3模板中:

我如下定义水平、垂直和两对角线方向的梯度:  

该定义下的算子称之为Prewitt算子: 

Sobel算子是在Prewitt算子的基础上改进的,在中心系数上使用一个权值2,相比较Prewitt算子,Sobel模板能够较好的抑制(平滑)噪声。 
计算公式为: 


Sobel算子:

       上述所有算子都是通过求一阶导数来计算梯度的,用于线的检测,在图像处理中,通常用于边缘检测。在图像处理过程中,除了检测线,有时候也需要检测特殊点,这就需要用二阶导数进行检测。

Mat src = imread("test.png", IMREAD_GRAYSCALE);
imshow("src", src);//X方向—Prewitt算子
Mat imgx;
Mat kernel_x = (Mat_<int>(3, 3) << -1, -1, -1, 0, 0, 0, 1, 1, 1);
filter2D(src, imgx, -1, kernel_x, Point(-1, -1), 0, 0);
imshow("x方向", imgx);Mat imgy;
//Y方向—Prewitt算子
Mat kernel_y = (Mat_<int>(3, 3) << -1, 0, 1, -1, 0, 1, -1, 0, 1);
filter2D(src, imgy, -1, kernel_y, Point(-1, -1), 0, 0);
imshow("y方向", imgy);waitKey();

参考:

https://blog.csdn.net/swj110119/article/details/51777422


http://chatgpt.dhexx.cn/article/DZ1mUXNN.shtml

相关文章

Prewitt边缘检测算子

Prewitt算子也是一种一阶微分算子&#xff0c;用于边缘检测。与Robert使用22的模板不同&#xff0c;Prewitt算子使用的是33的模板&#xff0c;利用像素点上下、左右邻点的灰度差来检测边缘&#xff0c;故其边缘检测结果在水平方向和垂直方向均比Robert算子更加明显。 其数学表…

图像边缘检测之Prewitt算子

Prewitt 算子 1. 原理 Prewitt算子是一种图像边缘检测的微分算子&#xff0c;其原理是利用特定区域内像素灰度值产生的差分实现边缘检测。由于Prewitt算子采用 3x3 模板对区域内的像素值进行计算&#xff0c;而Robert算子的模板为 2x2&#xff0c;故Prewitt算子的边缘检测结果…

华为--配置本地环回接口地址

该实验紧接上一节实验 网络拓扑图如下 AR1环回接口配置 AR2环回接口配置 AR3环回接口配置 配置AR1回环接口路由 配置AR2回环接口路由 配置AR3回环接口路由 在AR1上测试回环接口的连通性 在AR2上测试回环接口的连通性 在AR3上测试回环接口的连通性 测试成功 转载于:https://my.o…

【LINUX】ifconfig只有本地环回地址问题的解决方法

问题描述&#xff1a; ifconfig只有lo&#xff0c;没有看到ens33 ifconfig -a看到了ens33&#xff0c;但是没有地址 解决方法&#xff1a; &#xff08;1&#xff09;stop network-manager sudo service network-manager stop &#xff08;2&#xff09;删除旧有的网络配置…

怎么判断一个ipv4地址是 私有地址,环回地址,实验地址,TEST-NET地址,本地链路地址?

问题的提出&#xff1a; 理论讲解(黄色的为上题的答案&#xff09;&#xff1a; IP地址分为五类&#xff1a; A类保留给政府机构&#xff0c;B类分配给中等规模的公司&#xff0c;C类分配给任何需要的人&#xff0c;D类用于组播&#xff0c;E类用于实验&#xff0c;各类可容纳…

回环地址 127.0.0.1

控制台输入ping 127.0.0.1。 $ ping 127.0.0.1 PING 127.0.0.1 (127.0.0.1): 56 data bytes 64 bytes from 127.0.0.1: icmp_seq0 ttl64 time0.080 ms 64 bytes from 127.0.0.1: icmp_seq1 ttl64 time0.093 ms 64 bytes from 127.0.0.1: icmp_seq2 ttl64 time0.074 ms 64 byte…

环回接口 环回地址 环回路由

网络协议的数据链路层的一些重点我们来讲解一下。这此我们主要讲解的是环回接口的问题。环回接口&#xff08;loopback&#xff09;:路由器上的一个逻辑、虚拟接口.路由器默认没有任何环回接口.此接口允许运行在同一台主机上的客户程序和服务器程序通过TCP/IP进行通信.一般系统…

什么是环回接口(Loopback Interface、环回地址)

2.7 环回接口 大多数的产品都支持环回接口&#xff08;Loopback Interface&#xff09;&#xff0c;以允许运行在同一台主机上的客户程序和服务器程序通过TCP/IP进行通信。 A类网络号 127就是为环回接口预留的。根据惯例&#xff0c;大多数系统把 IP地址127.0.0.1分配给这个接…

特殊IP地址——环回地址

环回地址&#xff08;Loopback Address&#xff09;127.0.0.1---127.255.255.254 是一种特殊的 IP 地址&#xff0c;它允许计算机的软件组件在本地主机上进行网络通信&#xff0c;也称作本地回环地址。 在计算机网络中&#xff0c;环回地址是一个虚拟地址&#xff0c;它不属于任…

“谁告诉你环回地址就是127.0.0.1?” “老师就是这么说的。”

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「专栏简介」&#xff1a;此文章已录入专栏《计算机网络零基础快速入门》 环回地址是本地的「虚拟接口」&#xff0c;默认不会宕掉。 我们经…

带头结点单链表、不带头结点单链表(头指针单链表)

1、头结点和头指针的区别 1.1区别&#xff1a; 头指针表明了链表的结点&#xff0c;可以唯一确定一个单链表。 头指针指向链表的第一个结点&#xff0c;其记录第一个存储数据的结点的地址。 头结点是点链表的第一个结点&#xff0c;若单链表有头结点&#xff0c;则头指针指向头…

不带头结点的单链表------C语言实现

1 /****************************************************/ 3 File name&#xff1a;no_head_link.c4 Author&#xff1a;SimonKly Version:0.1 Date: 2017.5.205 Description&#xff1a;不带头节点的单链表6 Funcion List: 7 ***************************************…

单链表的头结点的作用

问题&#xff1a;在单链表中使用“头结点”&#xff0c;这个哑结点始终是链表的第一个元素&#xff0c;这个技巧的利与弊&#xff1f; 链表中第一个结点的存储位置叫做头指针&#xff0c;那么整个链表的存取就必须从头指针开始进行了。之后的每一个结点&#xff0c;其实就是上…

【数据结构】单链表之带头结点的单链表

一、单链表相关知识点介绍&#xff1a; 1. 结点&#xff1a;结点就是单链表中研究的数据元素&#xff0c;结点中存储数据的部分称为数据域&#xff0c;存储直接后继地址的部分称为指针域。 2. 头结点&#xff1a;引入头结点的目的是&#xff0c;将链表首元结点的插入和删除操作…

【链表】带头节点和不带头节点单链表的区别

目录 &#x1f354;当链表的结点只包含一个指针域时&#xff0c;叫做单链表 &#x1f354;不论带不带头节点&#xff0c;所有的链表都要有个头指针&#xff01; &#x1f35f;带头结点的链表的头指针指向的是头结点&#xff0c;头结点的指针域指向首元结点 &#x1f35f;不带…

带头结点的单链表的操作(C语言)

初始化 先了解头结点 头结点是一个特殊的结点&#xff0c;它的数据域不存储信息&#xff0c;通常情况下&#xff0c;头指针指向的结点为头结点&#xff0c;由于头结点不存储信息&#xff0c;所以不是数据结构中的实际结点&#xff0c;第一个实际结点其实是head->next指示的…

单链表(不带头结点)

单链表不带头结点结构体设计&#xff1a; //不带头结点的结构体设计&#xff1a; typedef int ELEM_TYPE;//有效数据节点结构体设计 typedef struct Node {ELEM_TYPE data;//数据域 &#xff08;1.头结点&#xff1a;不保存任何数据 2.有效数据节点&#xff1a;保存有效值…

数据结构之不带头结点的单链表

我们都知道不管是单链表、双向链表还是循环链表&#xff0c;都带有头结点&#xff0c;这个头结点相当于一个起始的位置。我们在设计带头结点的单链表的时候&#xff0c;我们会在主函数中设计一个头结点&#xff0c;并把它的指针域置为空&#xff0c;这样我们就可以进行增删查改…

数据结构--带头结点的单链表

单链表分为&#xff1a;带头结点和不带头结点&#xff0c;不带头结点的单链表需要用到二级指针&#xff0c;容易出错。 1、结构体设计 typedef int ELEM_TYPE; //有效数据节点结构体设计&#xff08;头结点借用&#xff09; typedef struct Node {ELEM_TYPE data;//数据域 &…

带头结点的单链表的总结

线性表的链式存储是用若干地址分散的存储单元存储数据元素&#xff0c;逻辑上相邻的数据元素在物理位置上不一定相邻。 带头结点的单链表是指&#xff0c;在单链表的第一个结点之前增加一个特殊的结点&#xff0c;称为头结点。 头结点的作用&#xff1a;使所有链表&#xff08;…