当前位置:网站首页>【图像去噪】基于三边滤波器实现图像去噪附matlab代码
【图像去噪】基于三边滤波器实现图像去噪附matlab代码
2022-06-12 21:49:00 【Matlab科研工作室】
1 简介
近年来,随着计算机视觉领域的发展,雾天图像的清晰化问题逐渐成为该领域的研究热点。目前对于图像去雾技术的研究大体上可以分为两类[1]:基于大气散射物理模型的图像去雾方法和基于图像增强的去雾方法。基于大气散射物理模型的图像去雾方法从造成图像退化的具体原因角度分析,侧重于考虑大气散射作用对成像过程的影响,对雾天图像的退化过程进行数学建
模,求解模型参数,再通过图像退化的逆过程来恢复原来的真实图像。基于图像增强的去雾方法不考虑图像退化的原因,而是有选择性的突出图像中感兴趣的特征,减弱不需要的特征。一般通过增强图像的对比度和校正图像的颜色以达到图像去雾的目的,从而使处理后的图像更适合人类的视觉特性或计算机识别系统。基于图像增强的去雾方法以其方法简单、有效而得到更为广泛的应用。
2 部分代码
clear all;clc;warning off; close all;
foldnumber = 2;linenumber = 150;
string = strcat('C:\Users\hehesjtu\Desktop\test\',num2str(foldnumber),'\');
Files = dir(strcat(string,'*.bmp'));
LengthFiles = length(Files);
t = [1:256];
for i = 1:LengthFiles
string_GT = Files(i).name(end-5:end-4);
if (strcmp(string_GT,'GT'))
ygt = getline(imread(strcat(string,Files(i).name)),linenumber);
name = strcat(Files(i).name(1:end-6));
break;
end
end
picture = imread(strcat(string,name,'noisy.bmp'));
block = ones(5,256,3);block(:,:,1)= block(:,:,1)*255;block(:,:,2) = 0; block(:,:,3) = 0;
picture(linenumber-2:linenumber+2,:,:) = block;
ynoisy = getline(imread(strcat(string,name,'noisy.bmp')),linenumber);
yNLM = getline(imread(strcat(string,name,'NLM.bmp')),linenumber);
yBM3D = getline(imread(strcat(string,name,'BM3D.bmp')),linenumber);
yDDID = getline(imread(strcat(string,name,'DDID.bmp')),linenumber);
yEPLL = getline(imread(strcat(string,name,'EPLL.bmp')),linenumber);
yPGPD = getline(imread(strcat(string,name,'PGPD.bmp')),linenumber);
yWNNM = getline(imread(strcat(string,name,'WNNM.bmp')),linenumber);
yMCWNNM = getline(imread(strcat(string,name,'MCWNNM.bmp')),linenumber);
yDnCNN = getline(imread(strcat(string,name,'DnCNN.bmp')),linenumber);
yFFDNet = getline(imread(strcat(string,name,'FFDNet.bmp')),linenumber);
yOur = getline(imread(strcat(string,name,'Our.bmp')),linenumber);
subplot(3,4,1)
imshow(picture);
subplot(3,4,2)
plot(t,ygt,'k','linewidth',2);
hold on;
plot(t,ynoisy,'r','linewidth',1.5);
axis([1 256 50 150]);
legend('y_{gt}','y');
subplot(3,4,3)
plot(t,ygt,'k','linewidth',2);
hold on;
plot(t,yNLM,'g','linewidth',1.5);
axis([1 256 50 150]);
legend('y_{gt}','NLM');
subplot(3,4,4)
plot(t,ygt,'k','linewidth',2);
hold on;
plot(t,yBM3D,'g','linewidth',1.5);
axis([1 256 80 150]);
legend('y_{gt}','BM3D');
subplot(3,4,5)
plot(t,ygt,'k','linewidth',2);
hold on;
plot(t,yDDID,'g','linewidth',1.5);
axis([1 256 80 150]);
legend('y_{gt}','DDID');
subplot(3,4,6)
plot(t,ygt,'k','linewidth',2);
hold on;
plot(t,yEPLL,'g','linewidth',1.5);
axis([1 256 80 150]);
legend('y_{gt}','EPLL');
subplot(3,4,7)
plot(t,ygt,'k','linewidth',2);
hold on;
plot(t,yPGPD,'g','linewidth',1.5);
axis([1 256 80 150]);
legend('y_{gt}','PGPD');
subplot(3,4,8)
plot(t,ygt,'k','linewidth',2);
hold on;
plot(t,yWNNM,'g','linewidth',1.5);
axis([1 256 80 150]);
legend('y_{gt}','WNNM');
subplot(3,4,9)
plot(t,ygt,'k','linewidth',2);
hold on;
plot(t,yMCWNNM,'g','linewidth',1.5);
axis([1 256 80 150]);
legend('y_{gt}','MCWNNM');
subplot(3,4,10)
plot(t,ygt,'k','linewidth',2);
hold on;
plot(t,yDnCNN,'g','linewidth',1.5);
axis([1 256 80 150]);
legend('y_{gt}','DnCNN');
subplot(3,4,11)
plot(t,ygt,'k','linewidth',2);
hold on;
plot(t,yFFDNet,'g','linewidth',1.5);
axis([1 256 80 150]);
legend('y_{gt}','FFDNet');
subplot(3,4,12)
plot(t,ygt,'k','linewidth',2);
hold on;
plot(t,yOur,'g','linewidth',1.5);
axis([1 256 80 150]);
legend('y_{gt}','Ours');
3 仿真结果
4 参考文献
[1]吴丽丽. 基于自适应小波与三边滤波的超声图像去噪算法[D]. 浙江工业大学, 2016.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
边栏推荐
- Unity 常用3D数学计算
- Yyds dry goods inventory solution sword finger offer: the first non repeated character in the character stream
- 在同花顺开户证券安全吗,证券开户怎么开户流程
- SQL tuning guide notes 16:managing historical optimizer statistics
- Xingda easy control modbustcp to profibusdp
- CVPR 2022 | 应对噪声标签,西安大略大学、字节跳动等提出对比正则化方法
- ORM implements the mapping relationship between classes and tables, class attributes and fields
- Recommended Chinese font in the code input box of Oracle SQL developer
- Oracle SQL Developer的代码输入框中推荐使用的中文字体
- Compiling process of OpenSSL and libevent on PC
猜你喜欢
孙老师版本JDBC(2022年6月12日21:34:25)
Ansible foundation and common modules (I)
JUC并发工具包使用指南
SQL tuning guide notes 16:managing historical optimizer statistics
Okio source code analysis
SQL tuning guide notes 17:importing and exporting optimizer statistics
Xingda easy control ModbusRTU to modbustcp gateway
Design and practice of Hudi bucket index in byte skipping
Ansible playbook和Ansible Roles(三)
Producer consumer model under multithreading model
随机推荐
Semester summary of freshman year
Icml2022 | galaxy: active learning of polarization map
Open source background management system suitable for outsourcing projects
SQL tuning guide notes 11:histograms
Linux backup MySQL
【QNX Hypervisor 2.2 用户手册】4.3 获取host组件
SQL tuning guide notes 9:joins
回文链表及链表相交问题(和心怡的人相交)你真的会了吗?
linux备份mysql
PE installation win10 system
Deep Hough voting for 3D object detection in point clouds
Jin AI her power | impact tech, she can
SQL调优指南笔记9:Joins
Ansible playbook and ansible roles (III)
[target detection] |dive detector into box for object detection new training method based on fcos
A puzzle about + =
Interpretation of OCP function of oceanbase Community Edition
NPOI 创建Word
大一下学年学期总结
疼痛分级为什么很重要?