OpenCV18Sobel算子卷积应用-图像边缘提取

第18课 Soble算子——提取边缘 文章目录1. 卷积应用——图像边缘提取2.Soble算子3. 相关API3.1 cv::Sobel ()3.2 cv::Scharr()3.3 其他API4. 例程 1. 卷积应用——图像边缘提取 边缘是什么 – 是像素值发生跃迁的地方,是图像的显著特征之一,在图像特征提取、对象检测、模式识别等方面都有重要的作用。 如何捕捉(提取边缘) —— 对图像求它的一阶导数 delta = f(x) –... 阅读详情

/*cv18Sobel算子卷积应用-图像边缘提取

prepared by txwtech
Sobel算子

sobel算子是一种计算不同方向上梯度的工具。原理是使用卷积核对图像进行处理。
如果想计算x方向梯度,我们就需要这样的一个卷积核

卷积应用-图像边缘提取
边缘是什么 – 是像素值发生跃迁的地方,是图像的显著特征之一,在图像特征提取、
对象检测、模式识别等方面都有重要的作用。
如何捕捉/提取边缘 – 对图像求它的一阶导数
delta =  f(x) – f(x-1), delta越大,说明像素在X方向变化越大,边缘信号越强,

Sobel算子,卷积操作

是离散微分算子(discrete differentiation operator),用来计算图像灰度的近似梯度
Soble算子功能集合高斯平滑和微分求导
又被称为一阶微分算子,求导算子,在水平和垂直两个方向上求导,得到图像X方法与Y方向梯度图像

求取导数的近似值,kernel=3时不是很准确,OpenCV使用改进版本Scharr函数

API:
cv::Sobel (
InputArray Src // 输入图像
OutputArray dst// 输出图像,大小与输入图像一致
int depth // 输出图像深度.
Int dx.  // X方向,几阶导数
int dy // Y方向,几阶导数.
int ksize, SOBEL算子kernel大小,必须是1、3、5、7、
double scale  = 1
double delta = 0
int borderType = BORDER_DEFAULT
)

cv::Scharr (
InputArray Src // 输入图像
OutputArray dst// 输出图像,大小与输入图像一致
int depth // 输出图像深度.
Int dx.  // X方向,几阶导数
int dy // Y方向,几阶导数.
double scale  = 1
double delta = 0
int borderType = BORDER_DEFAULT
)

GaussianBlur( src, dst, Size(3,3), 0, 0, BORDER_DEFAULT );//高斯模糊
cvtColor( src,  gray, COLOR_RGB2GRAY );
addWeighted( A, 0.5,B, 0.5, 0, AB);//1 融合图片尺寸不变 1、函数作用 :实现两幅图片的(叠加)线性融合
convertScaleAbs(A, B)// 计算图像A的像素绝对值,输出到图像B

*/

/*cv18Sobel算子卷积应用-图像边缘提取

prepared by txwtech
Sobel算子

卷积应用-图像边缘提取
边缘是什么 – 是像素值发生跃迁的地方,是图像的显著特征之一,在图像特征提取、
对象检测、模式识别等方面都有重要的作用。
如何捕捉/提取边缘 – 对图像求它的一阶导数
delta =  f(x) – f(x-1), delta越大,说明像素在X方向变化越大,边缘信号越强,

Sobel算子,卷积操作

是离散微分算子(discrete differentiation operator),用来计算图像灰度的近似梯度
Soble算子功能集合高斯平滑和微分求导
又被称为一阶微分算子,求导算子,在水平和垂直两个方向上求导,得到图像X方法与Y方向梯度图像

求取导数的近似值,kernel=3时不是很准确,OpenCV使用改进版本Scharr函数

API:
cv::Sobel (
InputArray Src // 输入图像
OutputArray dst// 输出图像,大小与输入图像一致
int depth // 输出图像深度.
Int dx.  // X方向,几阶导数
int dy // Y方向,几阶导数.
int ksize, SOBEL算子kernel大小,必须是1、3、5、7、
double scale  = 1
double delta = 0
int borderType = BORDER_DEFAULT
)

cv::Scharr (
InputArray Src // 输入图像
OutputArray dst// 输出图像,大小与输入图像一致
int depth // 输出图像深度.
Int dx.  // X方向,几阶导数
int dy // Y方向,几阶导数.
double scale  = 1
double delta = 0
int borderType = BORDER_DEFAULT
)

GaussianBlur( src, dst, Size(3,3), 0, 0, BORDER_DEFAULT );
cvtColor( src,  gray, COLOR_RGB2GRAY );
addWeighted( A, 0.5,B, 0.5, 0, AB);
convertScaleAbs(A, B)// 计算图像A的像素绝对值,输出到图像B





*/

#include <opencv2\opencv.hpp>
#include <iostream>

using namespace std;
using namespace cv;

int main(int argc, char *argv[])
{
	Mat src;
	src = imread("e:\\pictures\\荷花1.jpg",CV_LOAD_IMAGE_ANYCOLOR);
	if (!src.data)
	{
		printf("failed to load image");
		return -1;
	}
	namedWindow("原图",CV_WINDOW_AUTOSIZE);
	imshow("原图",src);

	Mat gray_src;
	Mat dst2;
	GaussianBlur(src,dst2,Size(3,3),0,0);
	cvtColor(dst2,gray_src,CV_BGR2GRAY);
	imshow("灰度图像",gray_src);

	Mat x_grid, y_grid;
	Sobel(gray_src,x_grid,CV_16S,1,0,3);
	Sobel(gray_src,y_grid,CV_16S,0,1,3);
	
	//Scharr(gray_src,x_grid,CV_16S,1,0);//边缘提取亮度更亮
	//Scharr(gray_src,y_grid,CV_16S,0,1);//边缘提取亮度更亮
	convertScaleAbs(x_grid,x_grid);
	convertScaleAbs(y_grid,y_grid);
	imshow("x_grid",x_grid);
	imshow("y_grid",y_grid);
	Mat xy_mixed;
	addWeighted(x_grid,0.5,y_grid,0.5,0,xy_mixed);
	imshow("xy混合结果_sobel算子",xy_mixed);

	waitKey(0);
	return 0;
}

 

opencv_Sobel算子 卷积的应用 图像边缘提取 边缘:是像素值发生跃迁的地方,是图像的显著特征之一,在图像特的显著特征之一,在图像特诊提取、对象检测、模式识别等方面都有重要的作用。 捕捉/提取边缘:对图像求它的一阶导数 delta=f(x)-f(x-1),delta越大,说明像素在X方向变化越大,边缘信号越强。 Sobel算子 是离散微分算子,用来计算图像灰度的近似梯度 Soble算子功能集合高斯平滑和微分求导 又被称为一阶微分算子,求导算子,在水平和垂直两个方向上求导,得到图像X方法于Y方法梯度图像。 求导的近似值, 阅读详情

相关推荐

OpenCV 4.8.0 边缘检测算子对比:Sobel、Laplacian、Canny 在 5 类图像上的性能与效果实测

本文深入评测了OpenCV 4.8.0中三种经典边缘检测算子(Sobel、Laplacian、Canny)在工业场景中的性能与效果。通过量化数据和可视化对比,揭示了这些算法在高纹理、低对比度、噪声、模糊及多尺度图像上的表现差异,为工业应用提供选型建议。

326

OpenCV图像处理学习十六,解析图像卷积运算原理并应用Sobel算子,Scharr算子和拉普拉斯算子(Laplance)的应用

图像卷积运算原理,Sobel算子,Scharr算子和拉普拉斯算子(Laplance)的知识应用

weixin_44651073的博客 6207

深入浅出SSD:固态存储核心技术、原理与实战(文末赠书)

作为经典畅销书的升级版,本书在第1版的基础上新增了大量新知识(如闪存、UFS、测试、文件系统等),并改写或删减了许多过时或不适用的内容,总修改量超过60%。本书由SSD技术社区SSDFans的核心团队成员联合业界、高校SSD方面的专家共同完成,相对于第1版,内容更全面、更新,也更有深度。本书从产品、技术和应用3个维度展开,全面、详细讲解了SSD的发展历史、产品形态、工作原理、整体架构,以及各个功能模块的原理和使用,从SSD的前端接口协议到FTL算法,再到后端的闪存和纠错,以及测试,本书都有涉及。

阿玥的小博客 3122

18-Sobel算子

文章目录Sobel算子 Sobel算子

hello 1259

从 JDK8 到 JDK17:CRMEB 框架升级

【摘要】CRMEB开源框架已成功从JDK8升级至JDK17,带来显著性能提升:并发吞吐量提高35%,响应延迟降低40%,资源占用减少25%。升级方案解决87个技术卡点,支持模块化扩展和微服务转型,兼容SpringBoot3.0等新技术。提供基础版到企业级的升级服务,包含代码重构指导和性能调优。经金融级验证的方案可帮助电商平台实现日均10万+UV承载,支付成功率提升至99.7%。现以低于市场30%的价格提供全周期技术支持,助力企业抢占技术先机。

weixin_39782540的博客 701

QT开发串口程序与单片机通讯

如果有对象对这个信号感兴趣,想要处理的信号和自己的一个函数(称为槽(slot))绑定来处理这个信号。的内容,虽然实现的功能很简单,但是QT上位机开发的步骤基本就是这些步骤,通过这个基础实例把这些套路摸透我们就可以接着进行后续更多QT程序地开发学习了。QWidget类:所有用户界面对象的基类,窗口部件是用户界面的一个基本单元,它从窗口系统接收鼠标,键盘和其他消息,并在屏幕上绘制自己。我们上面运行的上位机都是在Qt Creator中编译运行的,如果我们需要把编写好的可执行文件发送给别人使用的话还需要进行打包。

谢谢大家的关注和点赞!这里只有纯纯的知识干货,没有一句废话。希望能实实在在帮到大家~要是觉得有用,别忘了给我点支持哟,你 945

sobel算子原理与实现

一、原理: 首先介绍背景知识:    1)边缘:灰度或结构等信息的突变处,边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。    2)边缘点:图像中具有坐标[x,y],且处在强度显著变化的位置上的点。    3)边缘段:对应于边缘点坐标[x,y]及其方位 ,边缘的方位可能是梯度角。        索贝尔算子(Sobeloperator)主要用作边缘

五仁月饼哭了的博客 16万+

实战:爬取某小程序的订单数据(解析小程序 API 参数)

本文以美团外卖小程序为例,详细分析了电商类小程序订单数据接口的技术实现与采集方法。首先通过抓包定位核心接口,解析其请求参数;重点破解了token验证机制与sign签名加密算法,通过逆向分析还原参数生成逻辑;最后基于Python实现了订单数据的自动化爬取与存储。文章强调数据采集需遵守法律合规性,提供应对反爬机制的策略,并指出了必须在获得合法授权的前提下使用这些技术。该研究为数据采集工程师提供了实用的技术参考,但必须严格遵循"最小必要"原则,确保不违反平台规则和用户隐私保护法规。

2503_91057718的博客 2316

sobel算子的原理

在实际操作中,Sobel算子将图像中的每个像素点分别对应到-1、0、+1三个方向上,通过对这三个方向上的灰度值求和并取绝对值,最后比较这个值与预设的阈值的关系,来得到边缘信息。由于Sobel算子是利用像素点上下、左右邻点灰度加权差来检测边缘的,因此其检测出的边缘可能会出现多像素宽度,影响边缘检测的精度。Sobel算子判断边缘点时,将灰度新值大于或等于阈值的像素点都认为是边缘点,这种判断方法欠合理,会造成边缘点的误判。经过整个计算过程,就可以得到每个像素点的边缘信息,也就是所谓的Sobel算子边缘图像。

AI_dataloads的博客 3122

国密GmSSL v2版本命令行方式生成国密sm2私钥、公钥、签名和验证签名

GmSSL是国密算法的工具库(主要包含SM2、SM3、SM4和国密SSL证书生成等功能),项目本身是OpenSSL的分支,但是截至文章发布为止,OpenSSL主分支的国密算法并不完善,目前并不支持签名和解签,所以国密算法这块还是需要使用GmSSL工具库。网上现在并没有v2版本的GmSSL可用的命令行文章,本章用于记录这些命令。本文原创自csdn博客,其他网站看到这篇文章都是盗,版,爬。虫。网站,支持原创,远离盗版。

eguid音视频方向博客,分享经过实践检验的硬核音视频技术。FFmpeg、openCV和JavaCV音视频和图像处理系列教程发布十周年,众多开发者的严格验证。欢迎关注,一起交流探索学习最新音视频和图像处理技术 4604

YOLO格式数据集【数据增强】终极脚本 | 70+种顶级数据增强方法 | 可带标签增强

YOLO格式数据集【数据增强】终极脚本 | 70+种顶级数据增强方法 | 可带标签增强

Coding... 5499

opencv_18 Sobel边缘提取

//边缘是像素发生阶跃的地方,使图像的显著特征之一,对图像求一阶导数,提取边缘。 //对图像求导,如下图。左边是原图像素图像,右边是像素变化率的图像。 //Sobel 算子:计算图像灰度的近似梯度。 //Sobel 算子集合了高斯平滑和微分求导,在x,y 方向上求导,得到X,Y方向上的梯度。 //下图是Sobel算子的卷积核,引入权重增大像素差异,提取边缘,左边是X梯度,右边是Y梯度。 //最...

weixin_41405284的博客 718

手把手教你学Simulink——基于Simulink的输入输出线性化精确转矩控制

由于IOFL控制律中实时引入了当前状态的反馈(id​,iq​,ωe​),电感的变化被非线性项自动补偿,转矩仅出现微小幅度的波动(< 2%),展现出极强的参数鲁棒性。:电压方程中的耦合项(ωe​Lq​iq​和 −ωe​Ld​id​)仅通过前馈补偿,当转速 ωe​较高时,微小的前馈误差会导致显著的d-q轴电流交叉耦合;其中,ud​,uq​为定子电压,id​,iq​为定子电流,Rs​为定子电阻,Ls​为定子电感,ωe​为电角速度,ψf​为永磁体磁链,p为极对数。(步长 Ts​=10μs,即100ns?

MHD0815的博客 82

18.Sobel算子

1.主要内容 (1)卷积应用-图像边缘提取 (2)sobel经典算法与opencv提供的sobel算法 (3)当一些API不能满足自己的需求时,如何去自己完成一些计算 2.卷积应用——图像边缘提取 (1) 边缘是什么-是像素值发生跃迁的地方,是图像的显著特征之一,在图像特征提取、对象检测、模式识别等方面都有重要的作用 (2)如何捕捉/提取边缘-对图像求它的一阶导数 delta = f(x)- f(...

罗伊的博客 1571

AMBA-AXI and ACE协议详解(十)

本章介绍了ACE协议中的Barrier事务机制,包括内存屏障和同步屏障两种类型。

Crazzy_M的博客 612

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【OpenCV 4开发详解】Sobel算子

本文首发于“小白学视觉”微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍《OpenCV 4开发详解》。为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通,提前在公众号上连载部分内容,请持续关注小白。 Sobel算子是通过离散微分方法求取图像边缘的边缘检测算子,...

小白学视觉 1011

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

opencv 边缘检测sobel算子

opencv 边缘检测sobel算子

m0_37302966的博客 693

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

OpenCV-Python(18):图像梯度

图像的梯度是指图像中每个像素点的强度变化情况。计算图像的梯度可以帮助我们了解图像中物体的边界和纹理等信息。边缘检测:梯度可以帮助我们找到图像中物体之间的边界。通过计算图像的梯度,我们可以检测出物体的边缘,从而实现目标检测、物体识别和图像分割等任务。图像增强:梯度可以帮助我们增强图像中的细节和纹理。通过计算图像的梯度,我们可以强调图像中的边缘和纹理,从而提高图像的清晰度和质量。光照估计:梯度可以帮助我们估计图像中的光照条件。

图灵追幕者博客录 1439

opencv-6 边缘检测(Prewitt算子,Sobel算子,Laplacian算子)

Roberts filter2D形式实现 import cv2 import numpy as np import matplotlib.pyplot as plt img = cv2.imread('lena.jpg') lenna_img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB) grayImage = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) kernelx = np.array([[-1,0],[0,1]],dtype=

超级菜 2942

Kirsch vs Sobel vs Laplacian:3种OpenCV边缘检测算子性能与效果深度对比

本文将深入对比Kirsch、Sobel和Laplacian这三种经典算子在计算效率、边缘连续性、抗噪性等维度的表现,并提供可复现的测试框架代码。在实际项目中,我们发现Kirsch算子在PCB板检测中可将误检率降低至Sobel的1/3,虽然计算耗时增加,但在质量优先的场景下仍是首选。每个3×3模板对应一个特定角度(0°、45°、90°、135°、180°、225°、270°、315°),通过取各方向响应的最大值作为边缘强度输出。测试说明:Kirsch因需计算8个方向卷积,耗时约为Sobel的8倍。

weixin_34049948的博客 451

边缘检测擂台赛:Laplacian与Sobel/Prewitt算子的性能对决

本文深入对比了Laplacian、Sobel和Prewitt算子在边缘检测中的性能差异,通过计算效率、抗噪能力和边缘质量等指标进行实测分析。Laplacian算子在定位精度上表现最佳,但需配合高斯滤波使用。文章还提出了多算子融合方案,结合OpenCV实现,为不同应用场景提供选型建议。

hh234的博客 913

从棋盘格到人脸:用OpenCV Sobel算子玩转不同场景的边缘检测(实战对比分析)

本文深入探讨了OpenCV Sobel算子在多场景下的边缘检测应用,包括人脸识别、建筑分析、文档处理和医学影像。通过实战对比分析,详细解析了Sobel算子的核心参数调优技巧,如ddepth设置、ksize选择和方向梯度计算,并提供了性能优化方案与工程实践建议,帮助开发者高效实现不同场景的边缘检测需求。

weixin_30729609的博客 310

OpenCV 边缘检测--Laplacian算子

简单介绍了在OpenCV中运用Laplace拉普拉斯方法进行二阶求导,从而进行边缘检测的方法及其原理

TeamLee的博客 1552

Canny vs Sobel vs Laplacian:OpenCV 4.8 三种边缘检测算子性能与效果实测

本文基于OpenCV 4.8版本,详细对比了Canny、Sobel和Laplacian三种边缘检测算子的性能与效果。通过算法原理、实现细节、性能指标和实战效果的全面分析,帮助开发者根据实际场景选择最合适的边缘检测方法,提升计算机视觉应用的准确性和效率。

cuiyingchan0663的博客 339

【opencv】18.数字图像一阶导数、二阶导数的数学原理

一阶导数求导过程: 二阶导数求导过程: 用数学公式表达一阶微分(不同于连续函数的无限趋向于0的 [公式] ,数字领域最小单位为1): 摘自:第三章 灰度变换与空间滤波-(六)锐化空间滤波器之基础 从上面两个公式可以看出,对图像的某元素求一阶导数,就是用相邻元素减去这个元素。不过上面只展示了一维的x,另一维的y没写出来,就是y不变时,该像素的右边像素的像素值减去该像素的像素值。这是检测横向的。当然也可以检测纵向的,还有斜线的。 ...

u011754972的博客 8787

2019-7-18 opencv图像处理6-图像梯度(Image Gradients )-发现边缘

官网参见https://docs.opencv.org/3.4.1/d5/d0f/tutorial_py_gradients.html 在形态学转换(https://blog.youkuaiyun.com/weixin_42555985/article/details/96272590)中已经提到形态学梯度概念,用于发现物体的边缘。 我们可以把图像看成二维离散函数,图像梯度其实就是这个二维离散函数的求导。 图...

weixin_42555985的博客 594
上一篇: OpenCV17边缘填充_边缘处理_解决卷积边缘像素无法处理的问题
下一篇: C++ win32 Sleep()头文件 #include <windows.h>
txwtech笛克电科
txwtech笛克电科 优质创作者: 后端开发技术领域 优质创作者: 后端开发技术领域
博客等级 码龄12年 4万+粉丝 1077原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

txwtech笛克电科

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值