Using First-Order Derivatives for (Nonlinear)Image Sharpening ----The Gradient

对于函数ƒ(x,y), ƒ在坐标(x,y)处的梯度定义为二维列向量

                         

                                (1)

它指出了在位置(x,y)处ƒ的最大变化率的方向。

向量▽ƒ的幅度值(长度)表示为M(x,y),即

                          

                                 (2)

它是梯度向量方向变化率在(x,y)的值。当x,y允许在ƒ中的所有像素位置变化时,M(x,y)是与原图像大小相同的图像。通常该图像称为梯度图像(简称为梯度)。

在某些实现中,用绝对值来近似平方和平方根操作更合适计算

                                   

                                (3)

该表达式仍保留了灰度的相对变化,但是失去了各向同性特征。

gx,gy近似表示为

                         

                                (4)

这两个公式可以用以下两个模板实现,(a)中的模板实现的3x3图像区域的第三行和第一行的差近似x方向的微分,(b)模板中的第三列和第一列的差近似了y方向的微分。

-1 -2 -1
0 0 0
1 2 1

                                      (a)

-1 0 1
-2 0 2
-1 0 1

                                      (b)

附上我的MATLAB实现代码

%%%%%%%梯度锐化图像(sobel算子)%%%%%%%Mask = 3;                                           %滤波器模板大小(3x3)ImageDataTemp = imread('lena.jpg');                 %读取工程目录下的图片
ImageDataGray = rgb2gray(ImageDataTemp);            %转换为灰度图像
ImageResult = size(ImageDataGray);                  %存储处理后的图像
clear ImageDataTemp;                                %清除过程变量
Temp = padarray(ImageDataGray, [(Mask-1)/2 (Mask-1)/2]);    %扩展图像,防止算子模板覆盖在图像外
[j,k] = size(ImageDataGray);SobelOperatorsX = [-1 -2 -1    0  0  01  2  1];
SobelOperatorsY = [-1  0  1-2  0  2-1  0  1];
Part = zeros(3, 3, 'double');
for x = 2:j+1for y = 2:k+1Part = double(Temp(x - 1 : x + 1, y - 1 : y + 1));ImageResult(x - 1, y - 1) =  abs(sum(sum(times(Part,SobelOperatorsX)))) + abs(sum(sum(times(Part,SobelOperatorsY))));end
end
figure(1),imshow(ImageResult, []);
figure(2),imshow(ImageDataGray, []);

效果图:


转载于:https://www.cnblogs.com/tcysky/p/5906769.html

使用一阶微分对图像锐化相关推荐

  1. 数字图像处理:(2)一阶微分和二阶微分在数字图像处理中的应用

    1.微分定义 2.微分性质 微分是对函数局部变化率的一种表示. 在图像处理中有基于一阶微分和二阶微分的锐化空间滤波器(图像锐化是增强图像的突变部分),其实一阶微分和二阶微分算子都可以得到图像的边缘,只 ...

  2. java图像处理之拉普拉斯锐化和一阶微分梯度锐化

    拉普拉斯是使用二阶微分锐化图像,以3*3滤波器中心像素与上下左右像素计算差值,计算公式为: 一阶微分梯度锐化,以3*3滤波器中心像素上方三个像素之和减去下方三个像素之和的绝对值,与左边三个像素减去右边 ...

  3. python 拉普拉斯锐化_(二十四)用二阶微分(拉普拉斯算子)实现图像锐化

    时间为友,记录点滴. 我们已经了解过了梯度(一阶微分)的作用,那么为什么要引入二阶微分呢?二阶微分的作用是什么? 还是看图说话: 很明显,一阶微分已经可以把轮廓辨识出来,但是,对于变化较缓的地方,一阶 ...

  4. 数字图像处理学习笔记4:图像增强之空间滤波2(一阶微分锐化滤波(梯度),二阶微分锐化(拉普拉斯),非锐化掩蔽)

    文章目录 前言 一.一阶微分和二阶微分的定义 二.一阶微分锐化滤波:梯度 1.梯度 2.sobel算子及MATLAB代码 二.二阶微分锐化滤波:拉普拉斯算子 1.拉普拉斯算子 2.拉普拉斯算子MATL ...

  5. matlab拉普拉斯算子边缘提取_(二十四)用二阶微分(拉普拉斯算子)实现图像锐化...

    时间为友,记录点滴. 我们已经了解过了梯度(一阶微分)的作用,那么为什么要引入二阶微分呢? 二阶微分的作用是什么? 还是看图说话: 很明显,一阶微分已经可以把轮廓辨识出来,但是,对于变化较缓的地方,一 ...

  6. 基于一阶微分的锐化滤波器---梯度算子(常用于工业检测,产品缺陷检测)

    文章目录 前言 一.常用的非线性锐化滤波器 二.图像能够进行微分的要求 三.基于一阶微分的锐化滤波器---梯度算子(常用于工业检测,产品缺陷检测) 四.如何求解梯度幅值 五.代码 总结 前言 非线性滤 ...

  7. Python 计算机视觉(十)—— OpenCV 图像锐化及边缘检测

    参考的一些文章以及论文我都会给大家分享出来 -- 链接就贴在原文,论文我上传到资源中去,大家可以免费下载学习,如果当天资源区找不到论文,那就等等,可能正在审核,审核完后就可以下载了.大家一起学习,一起 ...

  8. [Python图像处理] 四十二.Python图像锐化及边缘检测万字详解(Roberts、Prewitt、Sobel、Laplacian、Canny、LOG)

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  9. 【OpenCV 例程200篇】65. 图像锐化——Scharr 算子

    [OpenCV 例程200篇]65. 图像锐化--Scharr 算子 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 ...

最新文章

  1. autosar中com模块_详细介绍AUTOSAR各个模块作用PART1(OS,SYS)
  2. linux shell中 if else以及大于、小于、等于逻辑表达式介绍
  3. qt中label画圆代表指示灯_【Qt编程】基于QWT的曲线绘制及图例显示操作——有样点的实现功能...
  4. 人工智能AI、机器学习和深度学习之间的区别是什么?
  5. apache mysql php实现最大负载的方法_如何架设高性能nginx+php+mysql搭配的服务器,解决高并发问题...
  6. IDEA Maven创建多个Module相互依赖
  7. bzoj4998: 星球联盟
  8. mysql查询不确定的信息_mysql-非常复杂的查询,不确定是否可行.涉及...
  9. 计算机网络基础知识 帮助学习网络管理的初学者快速了解网络管理的初步结构知识...
  10. RHEL6入门系列之三十一,管理计划任务
  11. android怎样降版本,Android7.0 APP降级方法
  12. 【数据结构实验】队列的应用
  13. 常用输入法快速输入自定义格式的时间和日期(搜狗/QQ/手心/微软拼音)
  14. yaml 变量引用_yaml语法简介
  15. Python学习笔记之疑问 1:def 是什么意思
  16. 《深入理解计算机系统》Lab2-Bomblab
  17. HTML+CSS+JavaScript实现网页广告
  18. 解决phpmyadmin 访问卡慢等问题
  19. 1.20e 的maphack
  20. 使用ffmpeg用图片批量合成抖音卡点短视频

热门文章

  1. 阿里云RDS vs 自建MySQL,这篇评测终结你的选择困难症!
  2. UI自学宝典,完整UI学习线路图
  3. 《最后的守护者》的开发技术猜想
  4. Oracle:容器数据库简介
  5. 第十届蓝桥杯省赛JavaC组真题——详细答案对照(完整版-包含打扫机器人的视频全过程讲解与编码内容对照)
  6. 阿里云Linux创建docker容器
  7. 嫦娥之死天蓬元帅的转世
  8. 零基础学Python(第七章 while循环)
  9. 用爬虫实现验证码识别并模拟登陆和cookie操作、代理操作、线程池
  10. Android - 软件自动更新的实现