高提升滤波

非锐化掩蔽和高提升滤波 如下图为原图像、高斯滤波器模糊图像、非锐化模板、使用非锐化掩蔽的结果、使用高提升滤波的结果图。 由图可以看出,使用高斯滤波器后图像变得模糊,使用非锐化模板后所得的图像较原图像有了进一步改进,最后通过高提升滤波,使得图像效果大大增强。非锐化掩蔽的处理过程可以分为三步: 1.模糊原图像。 2.从原图像中减去模糊图像(产生的差值图像称为模板)。 3.将模板加到原图像上。 程序代码如下: clc %清除命令窗口的内容 close all %关闭所有的Figure窗口 clear a 阅读详情

原理:

 

/**
*  Author:LiBin
*  Description:基于Lalacian的锐化算子
*  @param  src:源图像(单通道/3通道)
*  @param  dst:目标图像
*  @return:无
**/
void EnhanceFilter(cv::Mat &src, cv::Mat &dst, float coef,float A=1.3)
{
	bool color = true;
	if (!src.data)
	{
		printf("image data is empty!\n");
		return;
	}
	cv::Mat cv8uc3mat;
	if (src.channels() ==1)
		color=false;
	cv::Mat kernel = (Mat_<float>(3, 3) << 0, 1, 0, 1, -4, 1, 0, 1, 0);
	cv::Mat result;
	result.create(src.size(), CV_8UC3);
	float sumfilterch_n1, sumfilterch_n2, sumfilterch_n3;
	for (int i = 1; i < src.rows - 1; i++)
	{
		//uchar *ptr1 = src.ptr<uchar>(i);
		for (int j = 1; j < src.cols - 1; j++)
		{
			sumfilterch_n1= sumfilterch_n2= sumfilterch_n3 = 0.f;
			if (color)
			{
				for (int m = 0; m < kernel.rows; ++m)
				{
					for (int n = 0; n < kernel.cols; ++n)
					{
						sumfilterch_n1 += static_cast<float>(kernel.at<float>(m, n)* src.at<Vec3b>(i + m - 1, j + n - 1)[0]);
						sumfilterch_n2 += static_cast<float>(kernel.at<float>(m, n)* src.at<Vec3b>(i + m - 1, j + n - 1)[1]);
						sumfilterch_n3 += static_cast<float>(kernel.at<float>(m, n)* src.at<Vec3b>(i + m - 1, j + n - 1)[2]);
					}
				}
				int src_ch1 = A*src.at<Vec3b>(i, j)[0] - sumfilterch_n1;
				int src_ch2 = A*src.at<Vec3b>(i, j)[1] - sumfilterch_n2;
				int src_ch3 = A*src.at<Vec3b>(i, j)[2] - sumfilterch_n3;
				
				if (src_ch1>255) src_ch1 = 255;
				else if (src_ch1 < 1e-6) src_ch1 = 0;

				if (src_ch2>255) src_ch2 = 255;
				else if (src_ch2 < 1e-6) src_ch2 = 0;

				if (src_ch3>255) src_ch3 = 255;
				else if (src_ch3 < 1e-6) src_ch3 = 0;
				
				result.at<Vec3b>(i, j)[0] = static_cast<uchar>(src_ch1);
				result.at<Vec3b>(i, j)[1] = static_cast<uchar>(src_ch2);
				result.at<Vec3b>(i, j)[2] = static_cast<uchar>(src_ch3);
			}
			else
			{
				src.convertTo(cv8uc3mat, CV_8UC1);
				for (int m = 0; m < kernel.rows; ++m)
				{
					for (int n = 0; n < kernel.cols; ++n)
					{
						sumfilterch_n1 += static_cast<float>(kernel.at<char>(m, n)* src.at<uchar>(i + m - 1, j + n - 1));
					}
				}

				sumfilterch_n1 *= coef;
				int src_ch = A*src.at<uchar>(i, j) - sumfilterch_n1;
				if (src_ch>255) src_ch = 255;
				else if (src_ch < 1e-6) src_ch = 0;
				result.at<uchar>(i, j) = static_cast<uchar>(src_ch);
			}
		}
	}
	dst = result.clone();
	result.release();
}

 

OpenCV非锐化掩蔽和高提升滤波 非锐化掩蔽和高提升滤波 在印刷和出版界使用多年的图像锐化处理过程是从原图像中减去一幅非锐化(平滑过的)版本。这个称为非锐化掩蔽的处理过程由下列步骤组成: 1、模糊原图像 2、从原图像中减去模糊图像(产生的差值图像称为模板) 3、将模板加到原图像上。 另F(x,y)表示模糊图像,非锐化掩蔽以公式形式描述如下。首先我们要先得到模板: gmask(x,y)=f(x,y) - F(x,y) ... 阅读详情

相关推荐

OpenCV 频率域实现钝化模板、高提升滤波和高频强调滤波 C++

为什么要进行高频提升和高频加强? 高频滤波后的图像,其背景平均强度 减小到接近黑色(因为高通滤波器滤除 了傅里叶变换的零频率成分: F(0,0)=f(x,y)=0) 解决办法:把原始图像加到过滤后的 结果,如拉普拉斯算子增强,这种处理 称为高频提升过滤 钝化模板(锐化或高通图像):从一幅图像减去 其自身模糊图像而生成的锐化图像构成。在频率 域,即从图像本身减去低通滤波(模糊)后的图 像...

cyf15238622067的博客 4550

OpenCV_高提升滤波

对于某些图像锐化过程中,经典的sobel算子和canny算子等会提取到一些多余的边缘,高提升滤波可以增强图像边缘,通过增大局部灰度差异来增强对比度 而,不影响图像整体对比度。 步骤如下: 1、平滑原图像 2、用原图像减去平滑图像,该差值图像作为模板 gmask(x,y)=f(x,y) - F(x,y) 3、加权缩放后的模板加到原图像上,达到局部对比度增强的效果。 g(x,y)= f(x,y) + k* gmask(x,y) 通常,我们会在上式中包含一个权重系数k(k>=0)。当k=1时,称为非锐化掩蔽

zhan_zhan1的博客 1288

空间滤波 - 钝化掩蔽和高提升滤波

从原图减去一副钝化(平滑后)的图像,是20实际30年代以来印刷和出版业一直用来锐化图像的过程。这个过程称为钝化掩蔽,它由三个步骤组成模糊原图像从原图像减去模糊后的图像(产生的差为模板)将模板与原图像相加假设表示模糊后的图像,则模板为:然后将加权的模板与原图像相加:这里 k 为权值且 k >= 0。

Henry的博客 2329

非锐化掩蔽(Unsharp Masking)与高提升滤波

数字图像处理中图像增强算法中常用的两种技术:非锐化掩蔽和高提升滤波       非锐化掩蔽:       顾名思义即减去平滑后的图像,其原理流程图如下:     1、平滑原图像:f->s;     2、从原图像中减去模糊图像,产生的差值图像称为模板:m=f-s;     3、将模板加到原图像中:

voicanoo的博客 3万+

【CV系列】高提升滤波与非锐化掩膜

DATE: 2019-10-31 1、参考 opencv入门学习之八:非锐化掩蔽(Unsharp Masking)与高提升滤波 2、高提升滤波算法原理

优快云明星博主,认证博客专家,视频、Matlab领域优质创作者。 1776

均值,拉普拉斯锐化,高提升滤波

filter2d为对灰度图进行空间滤波的函数,运行Runner即可。

数字图像处理学习笔记6:频率域滤波2(钝化滤波、高提升滤波、高频强调滤波)

文章目录前言一、钝化滤波以及高提升滤波1.计算步骤2.MATLAB代码二、高频强调滤波1.高频强调滤波器2.MATLAB代码 前言 在上一篇文章中讲了利用频谱图进行低通平滑滤波与高通锐化滤波:https://blog.youkuaiyun.com/qq_44785013/article/details/110132798 钝化滤波、高提升滤波以及高频强调滤波则是在低通滤波与高频滤波得到的结果上,进一步计算以获得更好的结果。除此之外,还有同态滤波以及拉普拉斯滤波等频率域图像增强方法。 一、钝化滤波以及高提升滤波 1.

刘燚的博客 5560

matlab 非锐化掩蔽、高提升滤波

matlab 非锐化掩蔽、高提升滤波

5.3 钝化掩蔽和高提升滤波

从原图像中减去一幅钝化(平滑后的)图像,这个过程称为钝化掩蔽。

专注图形图像处理 2653

冈萨雷斯 数字图像处理(第三版)matlab代码 图3.40 非锐化掩蔽和高提升滤波

冈萨雷斯 数字图像处理(第三版)matlab代码 图3.40 非锐化掩蔽和高提升滤波

五子棋AI算法第一篇-我对谷歌Alphago的看法

最近Google宣布他们的围棋AI以5:0的战绩打败欧洲围棋三冠王。我一直对人工智能比较感兴趣,正好趁年前空闲的几天用JS写了一个五子棋的AI。其实很久以前就用自创的算法写过一个JAVA版的五子棋AI,不过棋力很不理想。这次用的是JS写的,所以无论任何平台上只要能打开网页的都可以玩。google爆出这个新闻之后,很多人觉得这是不是意味着电脑智商已经在人类之上了,围棋已经没有意义了之类的。甚至觉得这是

言川的博客 2万+

数字图像处理——非锐化屏蔽与高提升滤波【像素级别处理】(python)

数字图像处理——非锐化屏蔽与高提升滤波【像素级别处理】(python) 文章目录数字图像处理——非锐化屏蔽与高提升滤波【像素级别处理】(python)非锐化屏蔽介绍高提升滤波介绍 非锐化屏蔽 介绍 其中非锐化屏蔽是指在原图像中减去一个经过锐化的图层 其步骤为: 模糊原图像 原图像减去模糊图像(差值为模版) 把模版加到原图像上 令f‾(x,y)\overline{f}(x,y)f​(x,y)为模...

Gowi的博客 2554

S32K144 ADC硬件触发实战:PDB模块配置与DMA传输全流程解析

本文详细解析了S32K144微控制器中ADC硬件触发的全流程实现。通过配置PDB模块产生精确的定时触发信号,并联动DMA实现转换数据的自动搬运,构建了一个无需CPU干预的高效、低抖动数据采集系统。文章深入讲解了时钟配置、模块初始化、DMA引擎搭建及实战调试技巧,为汽车电子和工业控制应用提供了可靠的解决方案。

weixin_29174141的博客 226

反锐化掩膜_反锐化掩模和高提升滤波的MATLAB实现

原始图像Fig3.43(a).jpg所用的maskA=1A=2A=3A=4所用的maskA=1A=2A=3A=4所用的maskA=1A=2A=3A=4所用的maskA = 1A = 2A = 3A = 4附上计算LAPLACE的MATLAB程序:lap.mfunction d = lap(a,mask)[m,n] = size(a);[msc,msc] = size(mask);d =...

weixin_39525617的博客 1939

snipersim安装

snipersim安装记录,便于后续使用tip:snipersim需要在python2的环境下编译。

weixin_53507617的博客 917

实战解析:如何用Python逆向破解FastMoss的TikTok数据加密签名(附完整代码)

本文详细解析了如何用Python逆向破解FastMoss平台的TikTok数据加密签名机制,包括MD5加密算法和JS逆向分析。通过完整的Python代码示例,帮助开发者理解签名生成原理并实现自动化请求,提升数据获取能力。

weixin_30955617的博客 561

冈萨雷斯图像处理---非锐化掩蔽和高提升滤波

冈萨雷斯图像处理—非锐化掩蔽和高提升滤波 MATLAB代码 图像处理小白,昨天老师布置了一个作业,搜半天没答案,直接自己写了呜呜呜 clear,clc; % 读取图像 Img = imread(‘moon.jpg’); M = size(Img); if numel(M)>2 gray = rgb2gray(Img); else gray = Img; end % 创建滤波器 W = fsp...

qq_44593851的博客 1617

【Python机器学习】决策树与随机森林:解释性与鲁棒性的平衡

本文深入探讨了决策树和随机森林在解释性与鲁棒性之间的权衡。决策树以其完美的可解释性、快速的推理速度和无需特征标准化等优势,在许多场景中仍然是首选算法。一个经过合理剪枝的决策树,其每个决策路径都可以转化为业务规则,这在金融风控、医疗诊断等对透明度有严格要求的领域无可替代。然而,单棵决策树的高方差和容易过拟合的特性限制了其泛化能力。随机森林通过集成学习的思想,巧妙地解决了这个矛盾。它维持了相对较好的解释性(通过特征重要性、OOB估计等方式),同时通过多棵树的投票或平均,大幅降低了模型的方差。

nmdbbzcl的博客 628

第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波16 - 锐化高通滤波器 - 钝化掩蔽和高提升滤波

目录锐化(高通)空间滤波器钝化掩蔽和高提升滤波 锐化(高通)空间滤波器 平滑通过称为低通滤波 类似于积分运算 锐化通常称为高通滤波 微分运算 高过(负责细节的)高频,衰减或抑制低频 钝化掩蔽和高提升滤波 钝化掩蔽 从原图像中减去一幅钝化(平滑后的)图像 步骤: 模糊原图像 从原图像减去模糊后的图像(产生的差称为模板) 将模板与原图像相加 令fˉ(x,y)\bar f(x,y)fˉ​(x,y)表示模糊后的图像,则有 gmask(x,y)=f(x,y)−fˉ(x,y)(3.55)g_{m

jasneik的博客 1081

huggingface下载提示huggingface_hub.errors.EntryNotFoundError:404 Client Error: (Request 1D: Root...如何解决?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 1233

【Unity 实用工具篇】✨| 受击插件Feel 详细教程,开发游戏时更好的操控 游戏打击感

在一个游戏中,游戏手感对于游戏的整体游玩体验是非常重要的,而游戏手感中有一个很重要的点:打击感 那本篇文章就来讲一下打击感中的受击反馈部分。 在游戏中经常会用到攻击敌人,敌人扣血,执行某些受击功能的执行,尤其是对于有战斗场景的游戏来说,这就是标准的受击反馈。 所以引出本篇文章的主角:受击插件 Feel 的使用,2D和3D游戏都可以使用。

努力前行,总会成为自己心中的那道光 3万+

数字图像处理的python实践(10)——高提升滤波

回忆下我们之前使用的一阶微分的Robert、Sobel算子或者是二维的拉普拉斯算子,其中各个系数之和都为0。说明了算子在灰度恒定的区域的响应为0,这就导致了我们在锐化之后的图像中,除了边缘处之外的区域都变成了黑色,只有高灰度值的边缘、细节和灰度跳变点作为黑背景中的高灰度部分突出显示。我们更加希望,在基于锐化的图像增强中,可以保留原图像中的信息,所以可以将原图像和锐化后的图像相加来得到...

baidu_41902768的博客 1539

mjlab 入门教程(一)MuJoCo 人形机器人强化学习训练 sim-to-real 部署框架

摘要:mjlab是一个结合IsaacLab API与MuJoCo简洁性的GPU加速机器人仿真框架,专为强化学习和机器人研究设计。它提供快速安装(支持uv、pip、conda和Docker)、核心功能(域随机化、NaN守护、观测历史/延迟、执行器/传感器系统)以及从IsaacLab的迁移指南。相比IsaacLab,mjlab更轻量、启动更快,直接构建在MuJoCo Warp上,避免了Omniverse开销。其哲学强调裸机性能、开发者体验和核心领域专注,适合需要快速迭代和直接MuJoCo控制的用户,而Isaac

2506_90492529的博客 2727

图像高提升滤波的vc实现

void CSDIELSView::OnSharpeningEnhance() { //程序编制:李立宗 lilizong@gmail.com //2012-8-12 if(myImage1.IsNull()) OnOpenResourceFile(); if(!myImage2.IsNull()) myImage2.Destroy(); if(myImage2.I

计算机视觉之光 6376

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

matlab非锐化掩蔽和高提升滤波_(十五)初识滤波之均值滤波

时间为友,记录点滴。媳妇生病住院了,当了一阵子的男保姆,知乎都断更了。赶紧补一补。这个《数字图像处理》的第二章举的例子可真多啊,还没搞完。今天来聊一聊邻域处理。直奔主题,如何通过邻域来实现滤波。作为一名有科学素养的程序员都知道,在研究一个主题之前,一定要字字珠玑。这个主题中有两个名词:邻域啥是邻域?其实就是我们研究目标像素周边的像素,一张图直观解释:更多的内容可以查看我的另外一个专题:lowkey...

weixin_39662834的博客 474

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: pip配置darkflow+yolo环境:win10+darkflow+yolo
下一篇: win10在升级pip的过程中损坏pip的解决方法
LiBin1103
博客等级 码龄9年 38粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值