matlab拉普拉斯图像锐化处理,MATLAB中的拉普拉斯图像滤波与锐化图像
我有一些提示:
>这只是一个小问题,但filter2执行相关.实际上,您需要执行卷积,在执行像素邻域和内核之间的加权和之前将内核旋转180度.但是因为内核是对称的,convolution and correlation perform the same thing in this case.
>我建议您使用imfilter来促进过滤,因为您已经使用了图像处理工具箱中的方法.它比filter2或conv2更快,并利用了Intel Integrated Performance Primitives.
>我强烈建议你先做双精度的一切,然后在你完成后转换回uint8.使用im2double将图像(很可能是uint8)转换为双精度.执行锐化时,这会保持精度并过早地投射到uint8然后执行减法会给您带来意想不到的副作用. uint8将限制结果为负数或超过255,这也可能是您没有得到正确结果的原因.因此,将图像转换为双倍,过滤图像,通过使用过滤结果减去图像来锐化结果(通过拉普拉斯运算符),然后在im2uint8之前转换回uint8.
您的代码和链接之间的差异是:
>内核有一个积极的中心.因此,1是负数,而中心是8,您必须将过滤结果添加到原始图像.
>在链接中,它们将过滤后的响应标准化,使最小值为0,最大值为1.
>将过滤后的响应添加到原始图像后,还可以将此结果标准化,使最小值为0,最大值为1.
>执行线性对比度增强,使强度60成为新的最小值,强度200成为新的最大值.您可以使用imadjust执行此操作.该函数接收图像以及两个数组 – 第一个数组是输入最小和最大强度,第二个数组是最小值和最大值应映射到的位置.因此,我想将输入强度60映射到输出强度0,输入强度200映射到输出强度255.确保指定的强度介于0和1之间,因此您必须将每个数量除以如文档中所述255.
因此:
clc;
close all;
a = im2double(imread('moon.png')); %// Read in your image
lap = [-1 -1 -1; -1 8 -1; -1 -1 -1]; %// Change - Centre is now positive
resp = imfilter(a, lap, 'conv'); %// Change
%// Change - Normalize the response image
minR = min(resp(:));
maxR = max(resp(:));
resp = (resp - minR) / (maxR - minR);
%// Change - Adding to original image now
sharpened = a + resp;
%// Change - Normalize the sharpened result
minA = min(sharpened(:));
maxA = max(sharpened(:));
sharpened = (sharpened - minA) / (maxA - minA);
%// Change - Perform linear contrast enhancement
sharpened = imadjust(sharpened, [60/255 200/255], [0 1]);
figure;
subplot(1,3,1);imshow(a); title('Original image');
subplot(1,3,2);imshow(resp); title('Laplacian filtered image');
subplot(1,3,3);imshow(sharpened); title('Sharpened image');
我现在得到这个数字……这似乎与链接中的数字一致:
matlab拉普拉斯图像锐化处理,MATLAB中的拉普拉斯图像滤波与锐化图像相关推荐
- matlab中取文件名函数,matlab从文件夹名中获取该文件夹下所图像文件名
matlab从文件夹名中获得该文件夹下所图像文件名 function [s,nameC]=get_FileNameFromFolderPath(path) % 函数调用:[s,nameC]=get_F ...
- matlab从文件夹名中获得该文件夹下所图像文件名
function [s,nameC]=get_FileNameFromFolderPath(path) % 函数调用:[s,nameC]=get_FileNameFromFolderPath(path ...
- c# 傅里叶变换 频域_傅里叶变换在MATLAB中的应用(频域滤波)
点击上方蓝字 关注我们 本文主要讲述如何在MATLAB中实现频域滤波,那么,怎么实现呢,我们这里讲的所有的滤波都是通过傅里叶变换在频域中实现的,所有这部分和傅里叶变换渊源很深,至于傅里叶变换本身,我 ...
- matlab imagesc 坐标,[转载]matlab 中imagesc的用法
imagesc(A) 将矩阵A中的元素数值按大小转化为不同颜色,并在坐标轴对应位置处以这种颜色染色 imagesc(x,y,A) x,y决定坐标范围,x,y应是两个二维向量,即x=[x1 x2],y= ...
- 图像降噪算法——小波硬阈值滤波(下)
图像降噪算法--小波硬阈值滤波(下) 图像降噪算法--小波硬阈值滤波(下) 1. 基本原理 2. C++代码实现 3. 结论 图像降噪算法--小波硬阈值滤波(下) 1. 基本原理 关于离散小波变换的原 ...
- 计算机视觉 Project 1:图像滤波和混合图像
计算机视觉 Project 1:Image Filtering and Hybrid Images 计算机视觉 Project 1:Image Filtering and Hybrid Images ...
- matlab中表示拉普拉斯分布_深度优化局部拉普拉斯金字塔滤波器。
微信公众号:OpenCV学堂关注获取更多计算机视觉与深度学习知识 觉得文章有用,请戳底部[好看]支持 算法概述 基于局部拉普拉斯金字塔的Edge-aware滤波器是在2011年由Adobe 公司的研究 ...
- matlab 拉布拉斯矩阵,关于图像处理:C ++中的拉普拉斯矩阵计算
我一直在尝试实现名为"基于学习的数字抠像"的研究论文中描述的数字抠像算法. 其MATLAB代码可在此处获得. 我正在尝试使用OpenCV 2.4.3和UMFPACK将MATLAB代 ...
- matlab中表示拉普拉斯分布_CHAPT1:场论;电磁学和微波学的基本的数学手段和表示...
物理学中把某个物理量在空间一个区域内的分布称为场.从各种场的取值性质来看可以分成两大类,一类是每个点对应一个数值,这种场统称为标量场,如温度场.密度场等;另一类是每 个点对应一个向量,这种场称为向量场 ...
最新文章
- 序列号明码比较的反汇编代码以及注册机的初步使用
- 特征工程(2):特征构建
- svm中支持向量的理解
- 计算机cpu温度显示原理图,腾讯计算机管家关于如何检查CPU温度的图形教程
- 用python写九九乘法口诀表左上角_python打出九九乘法口诀表
- 接口_简单get接口_第一个接口
- 原来MySQL面试还会问这些...
- C++学习系列笔记(三)
- C++ wchar_t
- ajax请求中带判断语句例子,jQuery中借助deferred来请求及判断AJAX加载的实例讲解...
- c语言 银行叫号系统,【分享】C语言 银行取票排队系统
- 循迹避障小车制作第一篇(tb6612模块与降压模块的使用)
- iOS问题记录 - Xcode 14安装低版本iOS模拟器
- KMPlayer播放mkv视频不出声音的解决办法
- 支付宝AR扫福是怎么实现的?
- ACM Uva1594 Ducci序列
- ExifTool如何格式化日期和时间信息以进行书写
- 贝塞尔曲线(Bezier)之爱心点赞曲线动画效果
- 数字电路中的建立时间与保持时间是什么
- 易语言助手用法与方便之处
热门文章
- 平安普惠借款费用占本金一半 被诉未起告知义务、存代签情况
- 淘宝月销量(可以显示具体数值)接口
- 鸿蒙之境怎么不更新了,神都夜行录鸿蒙之境策驱三运高级特点分析 打法攻略分享...
- 原型模式(Prototype Pattern)
- Python+selenium 实现自动上传视频到自媒体平台并发布好看短视频实例演示
- 基于SIP协议的IP电话系统设计与实现
- 顶级高手常用的16个思维模型
- DARPA呼吁采用通信技术概念来支持Troop的丛林作战
- sqlite3:锁机制、stmt加速、wal日志模式、多进程并发、写互斥
- upgrade pip