Prewitt和Sobel算子
在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
Prewitt和Sobel算子相关推荐
- 【计算机视觉】图像分割与特征提取——基于Roberts、Prewitt、Sobel算子的图像分割实验
个人简介: >
- 梯度与Roberts、Prewitt、Sobel、Lapacian算子
一.学习心得: 学习图像处理的过程中,刚开始遇到图像梯度和一些算子的概念,这两者到底是什么关系,又有什么不同,一直困扰着我.后来在看到图像分割这一模块后才恍然大悟,其实图像的梯度可以用一阶导数和二阶偏 ...
- 梯度与边缘检测常用算子:Roberts、Prewitt、Sobel、LOG,Canny、Lapacian算子
原文:https://blog.csdn.net/swj110119/article/details/51777422 原文:https://blog.csdn.net/gdut2015go/arti ...
- 【图像处理】——Python图像分割边缘检测算法之一阶梯度算子(Roberts、Prewitt、Sobel、 Kirsch、Canny算子)
目录 前言 一.边缘检测算法 1.一阶算子 2.二阶算子 二.一阶算子 原图像lena 1.Roberts算子 不同方向的算子模板 梯度的计算 系统代码: 自定义函数代码 结果 2.Prewitt 不 ...
- 卷积核——Roberts、Prewitt、Sobel、Lapacian、DoG、LoG算子
文章目录 一.算子推导过程 1.1 梯度和Roberts算子: 1.2 Prewitt: 1.3 Sobel算子 1.4 Lapacian算子: 二.图像特征复杂算子 高斯拉普拉斯算子(LoG,Lap ...
- 边缘提取——Prewitt算子和Sobel算子
目录 Prewitt算子和Sobel算子 理论介绍 编码实现(Python) debug过程 Prewitt算子和Sobel算子 理论介绍 Prewitt算子和Sobel算子也是基于一阶导数的算子. ...
- 【数字图像处理】图像锐化:拉普拉斯算子(Laplacian)、高通滤波、Sobel算子、Isotropic算子、Prewitt算子
图像锐化 图像锐化处理的目的是使模糊的图像变得更加清晰起来,通常针对引起图像模糊的原因而进行相应地锐化操作属于图像复原的内容.图像的模糊实质就是图像受到平均或积分运算造成的,因此可以对图像进行还原运算 ...
- Roberts、Prewitt、Sobel、Laplacian、LoG 和 Canny 边缘检测算子(MATLAB自写函数实现)
文章目录 Roberts.Prewitt.Sobel.Laplacian.LoG 和 Canny 边缘检测算子(MATLAB自写函数实现) 1理论 1.1 知识引入 1.1.1 图像边缘边缘[1] 1 ...
- 图像处理中的梯度、导数如何求?(Robert算子,Sobel算子,Prewitt算子,Laplace算子)
梯度的求法是多种多样的,根据不同的处理需要选择合适的算子(模版). 1.水平垂直差分法 2.Robert 梯度算子 3.Sobel算子 垂直方向 ...
- 【8】python-opencv3教程:边缘检测(Roberts算子边缘检测,Prewitt算子边缘检测,Sobel算子边缘检测)
第八节:边缘检测 边缘检测:边缘检测指的是灰度值发生急剧变化的位置,边缘检测的目的是制作一个线图,在不会损害理解图像内容的情况下, 有大大减少了图像的数据量,提供了对图像数据的合适概述. 一:Robe ...
最新文章
- 写学生管理系统后的一些感想
- Devexpress的Datalayout控件
- 海致java面试_海致面试
- hashcode的理解
- 远程debug Tomcat工程
- 快速游戏开发工具GameMaker,Action Game Maker使用体验
- ORACLE中数据类型
- C及C++中的一些基础知识点(持续更新)
- java反编译能拿到源码吗_大牛带你解读Spring源码,编写自定义标签,您能学会吗?
- bigemap功能介绍,视频教程
- VS2015社区版MFC安装
- 数据库开源项目_开源项目贴纸库
- 禅定是否一定要打坐,为什么?
- 记第一次挖洞交洞历程
- 不错的U3D第一人称射击类游戏教程
- 对刚装好系统的Linux配置软件开发生产环境,让你开发效率一飞冲天!
- 一步步看α-β剪枝算法
- 弗朗西斯培根的四大假象
- 腾讯云服务器域名解析操作详解
- Linux搭建socks 5代理服务器及使用