matlab频域滤波处理,手动滤波,图像去网格背景:频域中手动选择目标区域进行滤波,滤掉噪声,灵活地达到理想的效果。
目录
一.原理简介
二.现有方法
三.代码实现
四.测试结果图
一.原理简介
主要思路为:通过傅里叶变换,将图像显示在频率域中,通过观察频谱图,如果了解频谱图与原图之间的关联,可以较为容易地发现噪声在频谱图中的表现,如下图:
第一张为原图,图中有较为规律的网纹(莫尔模式),图像在频率域中的频谱图如上方右图所示,可以发现其中包含八个较为明显的亮点,这些亮点在原图中就是网格。
二.现有方法
如果去掉这些亮斑,如下方左图所示,表现在原图中,就去掉了网格,如右下角图所示。
如果从较专业图像处理的角度,可以如下方法:(前两种网上和《数字图像处理》书中较多实现。本文第三种)
1.对频谱图设置一个阈值二值化进行阈值分割,然后通过膨胀腐蚀等操作找到这些亮斑(代码点此)
2.巴特沃斯陷波带阻滤波器传递函数乘以傅里叶变换的结果(左下图)(参见数字图像处理207页)
3.手动圈选特定位置,将选定位置的值设置为频谱图中的最小值,(代码如下)
三.代码实现
非常重要:使用时,通过鼠标选择mask区域,选好一个mask后,按下esc键会进行选下一个。当所有的mask选完时,在第一个图上按esc,再在画mask的图上按esc,程序就往下执行,生成结果图。(欢迎有兴趣的小伙伴改进操作方法)
matlab实现,主要功能为对于图像出现的有规律的网格,网纹,线条状噪声进行移除。
I = imread('test.png');
I = rgb2gray(I);
totMask = zeros(size(I)); % accumulate all single object masks to this one
f = figure('CurrentCharacter','a');
imshow(I) FFT = fft2(I);
myangle = angle(FFT); %相位谱(没有进行移位的)
FS = abs(fftshift(FFT)); % 移位,使低频成分集中到图像中心,并得到幅度谱
S = log(1+abs(FS));
figure,imshow(S,[]);small=min(min(FS))
h = imfreehand(gca); setColor(h,'green');
position = wait(h);
BW = createMask(h);
totMask = totMask | BW; % add mask to global mask
while double(get(f,'CurrentCharacter'))~=27 % ask user for another mask h = imfreehand(gca); if isempty(h) % User pressed ESC, or something else went wrong continue end setColor(h,'green'); position = wait(h); BW = createMask(h); totMask = totMask | BW; % add mask to global mask pause(.1)
end
% show the resulting mask
figure; imshow(totMask); title('multi-object mask'); cost3 = FS;
cost3(totMask == 1) = small ;
FS = cost3;resul_s = ifftshift(FS); % 将处理后的幅度图反移位,恢复到正常状态
result_f = resul_s.*cos(myangle) + resul_s.*sin(myangle).*1i; % 幅度值和相位值重新进行结合,得到复数
result_image = abs(ifft2(result_f )); % 进行傅里叶反变换,得到处理后的时域图像
result = im2uint8(mat2gray(result_image));
figure,imshow(result); %去除网纹成分后的图像
四.测试图
原图:
圈住目标信号:
生成的mask:
结果图:
本文链接:matlab频域滤波处理,手动滤波,图像去网格背景:频域中手动选择目标区域进行滤波,滤掉噪声,灵活地达到理想的效果。_Alocus_的博客-CSDN博客
matlab频域滤波处理,手动滤波,图像去网格背景:频域中手动选择目标区域进行滤波,滤掉噪声,灵活地达到理想的效果。相关推荐
- 基于MATLAB改进暗通道先验的图像去雾算法
基于MATLAB改进暗通道先验的图像去雾算法 摘要:暗通道先验去雾算法求得的的透射率比较精细,去雾效果优于大多数去雾算法.然而在暗通道求取过程中,最小值滤波的处理会使得暗色向外扩张,导致透射率扩张变大 ...
- 导向滤波算法 java_一种基于双通道先验和侧窗导向滤波的单幅图像去雾方法与流程...
本发明属于计算机图像处理的领域,用于图像或者视频去雾等相关领域:具体涉及一种基于双通道先验和侧窗导向滤波的单幅图像去雾方法. 背景技术: 图像采集过程中,由于雾天的影响,使得景物的能见度大幅降低,再加 ...
- matlab提取遥感图像的点DN值,一种高分辨率遥感图像去雾霾方法
4 实验验证与分析 实验对象为两颗国产亚米级高分辨率遥感卫星图像, 即GF-2和Superview-1图像.两颗卫星参数如表1所示.其中, GSD为地面采样距离, 即空间分辨率; PAN表示全色谱段; ...
- matlab 画图白边,matlab保存画框图像去白边
在matlab图像处理中,为了标识出图像的目标区域来,需要利用plot函数或者rectangle函数,这样标识目标后,就保存图像. 一般saves保存的图像存在白边,可以采用imwrite对图像进行保 ...
- 一种基于卷积神经网络的图像去雾研究-含matlab代码
目录 一.绪论 二.去雾卷积网络 2.1 特征提取 2.2 多尺度映射 2.3 局部均值 2.4 非线性回归 三.实验与分析 四.Matlab代码获取 一.绪论 雾是一种常见的大气现象,空气中悬浮的水 ...
- matlab求图像暗通道图像,基于暗通道先验条件图像去雾算法
基于暗通道先验条件图像去雾算法 香港大学何凯明博士于2009发表了一篇论文<Single Image Haze Removal Using Dark Channel Prior>.在文章中 ...
- 综述:视频和图像去雾算法以及相关的图像恢复和增强研究
综述:视频和图像去雾算法以及相关的图像恢复和增强研究 翻译自IEEE的一篇文章<Review of Video and Image Defogging Algorithms and Relate ...
- 去雾综述_【综述】图像去雾的前世今生
1. 前言 其实之前对图像去雾也没有什么深入的理解,只是了解,实现过一些传统的图像去雾方法而已.个人感觉,在CNN模型大流行的今天,已经有很多人忽略了传统算法的发展,以至于你今天去搜索10年前的传统去 ...
- 目标跟踪-粒子滤波算法
http://blog.csdn.net/hujingshuang/article/details/45535423 前言: 粒子滤波广泛的应用于目标跟踪,粒子滤波器是一种序列蒙特卡罗滤波方法,其实质 ...
最新文章
- 谷歌“升维打击”:还原任意角度光照立体效果,2D变“4D”!
- 【操作系统】互斥:软件解决方法
- 【离散数学中的数据结构与算法】六 排列与组合二
- 袁亚湘:愿为数学做更多
- Ubuntu之更新CMake的版本
- kuka机器人外部轴异步_KUKA机器人外部轴标准配置
- 色不迷人人自迷,情不伤人人自伤
- 页面置换模拟程序c语言,LRU页面置换算法模拟
- 诺基亚 java 软件_初学篇:诺基亚手机软件安装不求人
- VM16 安装win 11
- github 下载慢问题 - 代理 - 汇总
- Win11打字不显示选字框怎么办?Win11打字不显示选字框的解决方法
- 农夫过河问题的c语言实现
- 异次元店铺 - 最适合你的个人店铺系统源码(原荔枝发卡)
- Centos7下的Openssl和CA
- 思维导图02----Java面向对象
- C语言中%d %.2d %2d %02d的区别
- 电脑广告多?Windows 自带恶意软件删除工具还不会使用?有必要安装杀毒软件吗?
- stm32-HAL使用stop模式后DMA初始化的问题
- 做好外贸电子商务不能只靠PC端,必须与移动端双管齐下