matlab拉普拉斯算子锐化,cv-拉普拉斯算子锐化浅析

article/2025/8/25 14:58:53

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

从而得到拉普拉斯算子

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

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

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

1460000007722626?w=558&h=62

思路很简单。

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

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;

}

原始图片

1460000007722627?w=650&h=219

锐化后图片

1460000007722628?w=650&h=219

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


http://chatgpt.dhexx.cn/article/5BdT195n.shtml

相关文章

拉普拉斯算子Laplace

拉普拉斯算子Laplace 概述二阶差分算子模板应用原理python代码实现opencv代码效果展示 概述 定义&#xff1a;拉普拉斯算子是n维欧几里德空间中的一个二阶微分算子&#xff0c;是用二阶差分来计算图像的边缘。 拉普拉斯算子是一种各向同性微分算子&#xff0c;它具有旋转不变性…

Laplace operator 拉普拉斯算子

一 概要介绍 我们主要关注拉普拉斯算子在图像方面的应用。首先&#xff0c;列出二维拉普拉斯算子的定义&#xff1a; Δ f ∂ 2 f ∂ x 2 ∂ 2 f ∂ y 2 \Delta f \frac{\partial^2f}{\partial x^2} \frac{\partial^2f}{\partial y^2} Δf∂x2∂2f​∂y2∂2f​ 从公式中可…

通俗理解拉普拉斯算子(Laplace)

离散的一阶微分 离散的一阶微分定义为差分&#xff0c;如二维离散函数 f ( x , y ) \ f(x,y) f(x,y) (图像其实就可以看作一种二维离散函数&#xff0c;因为其反映的是不同像素点在x 和 y 轴方向上灰度的变化)在 x 方向上的一阶微分为 : σ f σ x f ( x 1 , y ) − f ( x ,…

拉普拉斯算子

文章目录 哈密尔顿算子梯度散度拉普拉斯算子图像处理——拉普拉斯算子 在介绍拉普拉斯算子概念之前我们先介绍&#xff0c;哈密尔顿算子&#xff08; ∇ \nabla ∇&#xff09;&#xff0c;梯度&#xff0c;散度等概念 哈密尔顿算子 所谓哈密尔顿算子即为某一物理量在笛卡尔坐…

微信小程序阻止冒泡事件

阻止冒泡事件 当点击清空小图标时还会触发picker框弹出 解决方法&#xff1a; 将bindtap改为catchtap

uniapp小程序点击事件阻止冒泡

uniapp开发的小程序使用click.stop发现无法阻止冒泡&#xff0c;找了半天也不知道什么问题 后来把代码改成了 click.stop 去阻止事件冒泡的改成 tap.stop 去阻止事件冒泡 <view class"contents" v-for"(item, index) in data" :key"index&…

阻止冒泡的方法

阻止冒泡 1.标准写法 普通浏览器 e.preventDefault(); 方法&#xff0c; 2、非标准写法 e.cancelBubble true 3.阻止冒泡兼容性方案 4、使用传统的注册方式 // 3. 传统的注册方式a.onclick function(e) {// 普通浏览器 e.preventDefault(); 方法// e.preventDefault(…

JS如何阻止冒泡事件

1、背景 1.1 什么是事件冒泡 当一个元素接收到事件的时候 会把他接收到的事件传给自己的父级&#xff0c;一直到window 。 优点&#xff1a;事件委托可以利用事件冒泡&#xff0c;来达到只指定一个事件处理程序就可以管理某一项类型的所有事件的效果&#xff0c;只添加一个事…

VUE的阻止冒泡事件

VUE的阻止冒泡事件 vue中的阻止冒泡事件可以帮助我们实现当子盒子被点击时&#xff0c;父盒子不被触发对应的点击事件。 1.click.stop()方法 <div class"boxParent" click"Parent($event)"><div class"boxSon" click"son($even…

阻止默认阻止冒泡

阻止默认&阻止冒泡 默认事件冒泡事件 默认事件 什么是默认事件 默认事件是元素默认会触发的事件&#xff0c;比如当你进入网页&#xff0c;右击鼠标会冒出菜单栏 怎么阻止默认事件发生 e.preventDefault(); <!DOCTYPE html> <html lang"en"> <h…

React中阻止冒泡

title: React中阻止冒泡 date: 2022-08-26 22:28:17 tags: React框架阻止冒泡行为 categories:框架React React中阻止冒泡 原因&#xff1a;在制作一个关于日历组件的时候&#xff0c;遇到一个bug&#x1f625;,点击input框让日历显示&#xff0c;点击日历以外的区域日历框隐…

阻止事件冒泡的方法

html结构: <body><form id"form1" runat"server"><div id"divOne" onclick"alert(我是最外层);"><div id"divTwo" onclick"alert(我是中间层&#xff01;)"><aid"hr_three"…

vue 阻止事件冒泡常用的方法

在 Vue 中&#xff0c;阻止事件冒泡有两种常用方法&#xff1a; 1. 使用 event.stopPropagation() 方法&#xff1a; 在事件处理函数中&#xff0c;可以通过调用事件对象的 stopPropagation() 方法来阻止事件冒泡。例如&#xff1a; html <template> <div click"…

大数据行业预测分析

大数据的发展引发了全球范围内深刻的技术与商业变革&#xff0c;已经成为全球发展的趋势以及国家、企业间的竞争焦点。数据作为一种资产的意识不断增强&#xff0c;越来越多的国家将数据定义为国家战略资源&#xff0c;开始抢占信息时代的制高点和竞争力。对于大数据行业的预测…

大数据与机器学习-大数据预测

大数据预测 量化交易 量化交易

你不好奇什么是大数据吗?快点进来看一看

大数据&#xff08;big data&#xff09;是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合&#xff0c;是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 //最小的基本单位是bit按顺序给出所有单位…

java代码验证大数据算法在竞猜足球预测分析中准确率

最近闲来无事&#xff0c;出于对足球的热爱&#xff0c;又痴迷于大数据技术&#xff0c;用java建了百来种算法模型&#xff0c;写了一个小软件&#xff0c;用来分析预测竞猜足球的胜平负。或许很多朋友都有疑问&#xff0c;竞猜足球到底怎么分析才能预测准确&#xff1f;竞猜足…

【毕业设计】大数据电商销售预测分析 - python 数据分析

文章目录 1 前言2 开始分析2.1 数据特征2.2 各项投入与销售额之间的关系2.3 建立销售额的预测模型 3 最后 1 前言 &#x1f525; Hi&#xff0c;大家好&#xff0c;这里是丹成学长的毕设系列文章&#xff01; &#x1f525; 对毕设有任何疑问都可以问学长哦! 这两年开始&…

大数据模型预测实践(knn算法+词嵌入)

大数据模型预测实践&#xff08;knn算法词嵌入&#xff09; 前言词嵌入(Word Embedding)KNN算法什么是KNN算法实现代码 前言 此次项目为根据北京大数据网站给出的用户信息和相应用户所游玩的景点&#xff0c;预测后续游客将要游玩的景点 由于数据集中许多标签为文字标签&#…