式(3.7.1)中的二维拉普拉斯数字实现可由这两个分量相加得到:

从而得到拉普拉斯算子

意思同上面的一阶微分算子相同。

这里解释一下微分算子的使用,很简单,如上面这个就是在处理每个像素点的RGB值时,将该像素的RGB三个值乘以4然后减去他上向左右四个像素点的RGB值,注意R、G、B分别处理。

这样是变化的表示,我们要想图片锐化,应该把这种变化叠加到原像素就行了,也就是

思路很简单。

一下为自己实现图像基于拉普拉斯算子的锐化过程:

void sharpen(const Mat &img, Mat &result)

{

for (int j = 1; j < img.rows - 1; ++j)

{

const uchar *previous = img.ptr(j - 1);

const uchar *current = img.ptr(j);

const uchar *next = img.ptr(j + 1);

uchar *output = result.ptr(j);

for (int i = 1; i < 3 * (img.cols - 1); ++i)//这里是基于RGB图的,如果非RGB图则无需这样

{

*output++ = cv::saturate_cast(

5 * current[i] - current[i - 1] - current[i + 1]

- previous[i] - next[i]);

}

}

result.row(0).setTo(cv::Scalar(0));

result.row(result.rows - 1).setTo(cv::Scalar(0));

result.col(0).setTo(cv::Scalar(0));

result.col(result.cols - 1).setTo(cv::Scalar(0));

}

以下为使用opencv中的fiter2D函数通过拉普拉斯算子实现锐化操作的代码

int main()

{

Mat img, resulta;

img = imread("C:/Users/Administrator/Desktop/bbb.jpg");

cv::Mat kernela(3, 3, CV_32F, cv::Scalar(0));

// assigns kernel values

kernela.at(1, 1) = 5.0;

kernela.at(0, 1) = -1.0;

kernela.at(2, 1) = -1.0;

kernela.at(1, 0) = -1.0;

kernela.at(1, 2) = -1.0;

filter2D(img, resulta, img.depth(), kernela);

//cout << img.rowRange(1, 4).colRange(1, 4) << endl;

//cout << result.rowRange(1, 4).colRange(1, 4) << endl;

imwrite("C:/Users/Administrator/Desktop/solved.jpg", resulta);

//imshow("origin", img);

//imshow("锐化结果", resulta);

waitKey(0);

return 0;

}

原始图片

锐化后图片

欢迎访问本人另一个博客凌风技术站

matlab拉普拉斯算子锐化,cv-拉普拉斯算子锐化浅析相关推荐

  1. 【数字图像处理】图像锐化:拉普拉斯算子(Laplacian)、高通滤波、Sobel算子、Isotropic算子、Prewitt算子

    图像锐化 图像锐化处理的目的是使模糊的图像变得更加清晰起来,通常针对引起图像模糊的原因而进行相应地锐化操作属于图像复原的内容.图像的模糊实质就是图像受到平均或积分运算造成的,因此可以对图像进行还原运算 ...

  2. 数字图像处理(五)——Matlab实现图像的边缘锐化及各种算子的比较

    实验内容 基于单方向梯度算子,Robert算子,Sobel算子,Priwiff算子,Laplacian算子,多方向模板,LOG算子编写matlab增强程序 最后,显示边缘图像和锐化增强图像,并对这些仿 ...

  3. 【数字图像处理】图像直方图均衡化、空域滤波(均值滤波、中值滤波)、图像锐化(Laplace算子)、图像傅里叶变换实验

    图像直方图均衡化.空域滤波.图像锐化.图像傅里叶变换 一.图像直方图均衡化 二.图像空域滤波 1.均值滤波(滤波次数n→3) 2.中值滤波(滤波次数n→3) 3.图像锐化(Laplace算子) 三.图 ...

  4. 第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波15 - 锐化高通滤波器 -拉普拉斯核(二阶导数)

    目录 锐化(高通)空间滤波器 基础 - 一阶导数和二阶导数的锐化滤波器 二阶导数锐化图像--拉普拉斯 锐化(高通)空间滤波器 平滑通过称为低通滤波 类似于积分运算 锐化通常称为高通滤波 微分运算 高过 ...

  5. GDAL 遥感 图像处理 锐化(Laplace算子、Sobel算子)

    GDAL 图像锐化 简介 拉普拉斯(Laplace)算子 部分代码: 索贝尔(Sobel)算子 部分代码: 处理效果 原图 (Laplace) (Sobel) 结尾 参考文章 简介 图像锐化(imag ...

  6. 算法设计与智能计算 || 专题八: 拉普拉斯算子与图拉普拉斯

    拉普拉斯算子与图拉普拉斯 文章目录 拉普拉斯算子与图拉普拉斯 1. 拉普拉斯基本概念与计算 1.1 哈密尔顿算子 1.2 梯度(gradient) 1.3 散度(divergence) 1.4 拉普拉 ...

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

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

  8. OpenCV图像锐化(梯度算子Sobel)

    梯度算子 •    梯度通过一个二维列向量来定义 •    向量的模值 实践中通常称为梯度图像. • 考虑一个3x3的图像区域,z代表 灰度级,上式在点z5的f值可用 数字方式近似. • 微分滤波器 ...

  9. dog log 算子_DoG和LoG算子

    DoG(Difference of Gaussian)算子和LoG(Laplacian of Gaussian)算子是常用的极值点检测(Blob Detection)两种方法,高斯卷积是为了进行尺度变 ...

  10. 图像处理特征不变算子系列之DoG算子(五)

    图像处理特征不变算子系列之DoG算子(五) kezunhai@gmail.com http://blog.csdn.net/kezunhai 在前面分别介绍了:图像处理特征不变算子系列之Moravec ...

最新文章

  1. volatile关键字对
  2. Android Studio的git功能的使用
  3. VS2005+WINDDK+Driver Studio 3.2编译出第一个测试驱动程序
  4. 计算机vfp考试题库二级,XYZ计算机等级考试题库系统(二级VFP)
  5. 海盗云商插件_推销自己的海盗猫王运营商
  6. 怎样提高WebService性能大数据量网络传输处理(转)
  7. 这些深度学习术语,你了解多少?(上)
  8. redis分片_Redis的持久化操作
  9. 背不下《道德经》,至少背下这10句精华!
  10. 运维小白死磕的专业术语,你真的理解透了吗?
  11. 这个机器学习论文大众评审网站,要让每篇arXiv论文都得到讨论
  12. java反射 例子_java反射简单例子
  13. 将linux用在开发环境中
  14. 【Unity3D插件】Exploder插件分享《物体爆炸效果插件》
  15. 中职学校计算机课听课记录表,中职听课记录
  16. VSCode 中常用的 PHP 编程插件
  17. 片上总线Wishbone 学习(二)Wishbone总线标准介绍
  18. 计网‖已知主机IP地址、子网掩码求网络地址
  19. java excel 批注_Java 添加、读取和删除 Excel 批注的操作代码
  20. 【网络】正向代理和反向代理

热门文章

  1. iOS swift组件化之私有库创建及问题记录
  2. BIEE入门篇之三 了解BIEE的开始菜单
  3. 图灵学院java架构师VIP课程学习总结
  4. (附源码)spring boot养老服务系统 毕业设计 163115
  5. WebGL/ThreeJS几何体、材质、纹理贴图,给几何体披上好看的外衣
  6. java adt怎么使用_如何在eclipse中添加android ADT ADT插件的安装图文教程
  7. Spring Web Flow 文档学习
  8. Linux 备份与恢复(dump、restore命令)
  9. 2018 华中科技大学校赛 L Fresh Air 思维BFS
  10. 进程调度之8:nanosleep与内核定时器