一、基本原理

Sobel算子使用梯度进行边缘增强,它考虑图像3×3邻域的处理。
对于图像f(x,y),取该图像的3×3的区域,如下图

x方向的偏微分定义为:

y方向的偏微分定义为:

则梯度幅值为:

Sobel算子由两个模板组成,将图像分别与两个模板做卷积,取它们的绝对值之和作为该像素点的灰度值,处理完毕后便产生一幅边缘强度图像。Sobel算子的模板如下:

二、实现步骤

(1)将原图像f(x,y)与Sobel算子的第1个模板做卷积,得到g1(x,y);
(2)将原图像f(x,y)与Sobel算子的第2个模板做卷积,得到g2(x,y);
(3)取|g1(x,y)| + |g2(x,y)|为Sobel算子处理后的图像。

三、效果演示

使用Sobel算子进行边缘增强的效果如下图所示,可以发现图像的边缘变得清晰可见:

四、matlab实现代码

%% Sobel算子
clear,close all
srcImg = imread('Sobel算子用.tif');
h = figure(1);
sizeScreen = get(0,'ScreenSize');
set(h,'position',sizeScreen)
subplot(121)
imshow(srcImg);
title('原始图像','fontsize',24);
srcImg = double(srcImg);
[rows,cols] = size(srcImg);
dstImg = srcImg;
mask_X = [-1 -2 -1;...0  0  0;...1  2  1];
mask_Y = [-1 0 1;...-2 0 2;...-1 0 1;];
for i = 1:rows-2for j = 1:cols-2temp_X = mask_X.*srcImg(i:i+2,j:j+2);temp_Y = mask_Y.*srcImg(i:i+2,j:j+2);temp_X = sum(temp_X(:));temp_Y = sum(temp_Y(:));dstImg(i+1,j+1) = abs(temp_X)+abs(temp_Y);end
end
dstImg = uint8(dstImg);
subplot(122)
imshow(dstImg);
title('Sobel算子处理后的图像','fontsize',24);

Sobel算子原理及matlab实现代码相关推荐

  1. 【Pytorch神经网络理论篇】 11 卷积网络模型+Sobel算子原理

    1 视觉角度理解卷积神经网络 1.1 卷积神经网络与生物视觉系统的关系 卷积神经网络的工作流程与生物大脑的处理视觉信号的流程相似,即:将图像从基础像素到局部信息再到整体信息的转化.大脑在对图像进行分级 ...

  2. sobel算子原理与实践

           索贝尔算子(Sobeloperator)主要用于获得数字图像的一阶梯度,是一种离散性差分算子.它是prewitt算子的改进形式,改进之处在于sobel算子认为,邻域的像素对当前像素产生的 ...

  3. sobel算子原理_「学术论文」基于Sobel算法图像边缘检测的FPGA实现

    摘要: 针对嵌入式软件无法满足数字图像实时处理速度问题,提出用硬件加速器的思想,通过FPGA实现Sobel边缘检测算法.通过乒乓操作.并行处理数据和流水线设计,大大提高算法的处理速度.采用模块的硬件设 ...

  4. sobel算子原理与实现

    一.原理: 首先介绍背景知识: 1)边缘:灰度或结构等信息的突变处,边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像. 2)边缘点:图像中具有坐标[x,y],且处在强度显著变化的位置 ...

  5. sobel算子原理以及运用

    Sobel边缘检测算法: 主要用作边缘检测,在技术上,它是一离散性差分算子,用来运算图像亮度函数的灰度之近似值.在图像的任何一点使用此算子,将会产生对应的灰度矢量或是其法矢量 Sobel卷积因子为: ...

  6. 中值滤波原理及matlab实现代码

    一.基本原理 上述均值滤波虽然可以降低噪声,但是也会导致图像模糊.而中值滤波在一定条件下可以克服线性滤波带来的图像细节模糊的问题,它对处理椒盐噪声非常有效. 中值滤波通常采用一个含有奇数个点的滑动窗口 ...

  7. 均值滤波原理及matlab实现代码

    一.基本原理 噪声点像素的灰度与其邻域内像素的灰度显著不同,根据噪声点的这一特性,可以使用邻域均值滤波来降低噪声. 利用一个大小为m×n的模板对一幅大小为M×N的图像进行均值滤波可以表示为如下公式,其 ...

  8. 直方图规定化原理及matlab实现代码

    一.基本原理 直方图均衡化能够得到具有均匀直方图的图像,对于某些应用,采用均匀直方图的基本增强并不是最好的方法.我们往往需要将直方图变换为某种特定的形状,以实现对原图像进行有目的地增强. 进行直方图规 ...

  9. DBSCAN原理及matlab仿真代码

    本文原理转自 https://www.cnblogs.com/pinard/p/6208966.html   DBSCAN(Density-Based Spatial Clustering of Ap ...

最新文章

  1. MPB:西农焦硕组-微生物生物地理学研究方法
  2. Intel Realsense 深度流向彩色流对齐 color_aligned_to_depth和depth_aligned_to_color
  3. envi导出jpg文件_保存技巧,完美解决PS导出文件过大的问题
  4. 集客家客运维那些事_2011年集客家客代维考试题库V2
  5. java list比较器_JAVA比较器
  6. Spring MVC过滤器-委派过滤器代理(DelegatingFilterProxy)
  7. 4.添加监听,使地图随鼠标,键盘移动并改变大小
  8. Excel导入-----导出(包含所选和全部)操作
  9. linux 软raid配置-系统安装
  10. 数字化方法基础(二)_点的投影
  11. 解读龙哥的书:用户是什么?
  12. php字符串转openssl格式,将OpenSSL生成的RSA公钥转换为OpenSSH格式(PHP)
  13. python入门学习—集合(FishC)
  14. vue项目中canvas两张图片生成合并成一张图片 canvas二维码放图片上
  15. 深入理解光流法外推雷达回波
  16. win10 nas搭建_零起步自建家用NAS
  17. Python爬取张家界风景美图
  18. Leetcode刷题 ——— (1)仅仅反转字母
  19. 用友nc登陆提示java_用友NC软件无法进入登陆界面,提示“网页上有错误”等现象   问题现象...
  20. C语言单元测试工具check

热门文章

  1. Linux中的useradd命令,useradd命令
  2. 2018 年度新增开源软件排行榜之国产 TOP 50
  3. Mac 下IDEA 在同一窗口下打开多个项目
  4. mybatis-generator自动生成数据库字段注释,类注释
  5. vue启动项目报错opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error‘ ]
  6. Windows10环境下安装FSCAN
  7. 在桌面右键菜单添加【切换电源计划】选项
  8. 全球网民规模、蜂窝移动电话用户数、电话主线运营数及互联网宽带接入用户数分析[图]
  9. U3D游戏角色血条制作并显示血量变化
  10. NOIP2017提高组复赛游记