运动图像序列增强重建的matlab设计和仿真
Posted fpga和matlab
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运动图像序列增强重建的matlab设计和仿真相关的知识,希望对你有一定的参考价值。
目录
一、理论基础
- 熟悉图像处理相关理论知识,并能熟练运用opencv,matlab等工具对图像进行相关处理。
- 对质量较差的运动图像进行图像增强处理,包括对图像光照的处理,图像的去噪和图像增强,实现消除噪声,提高图像对比度,使图像的边缘轮廓和细节特征能够很好的突显出来。
- 运动图像序列的重建根据一些低分辨率运动图像,通过一定的重建算法重建出一幅高质量高分辨率的图像,为整个空间合作项目提供高质量的图片。
- 针对运动图像序列中图像背景忽明忽暗等问题,采用相关图像增强方法如直方规定化,空域变换相等方法来实现图像亮度均衡,并利用帧间相关性,实现对运动图像序列下图像亮度矫正。
- 针对运动图像的去噪问题,采用一种自适应的去噪和增强模型,实现在抑制噪声的同时,增强图像细节和边缘轮廓信息,提高图像对比度。
- 针对运动图像超分辨率重建问题,采用一种是不依赖于亚像素的精确运动估计的重建方法,能够适应复杂的运动模式,且能够达到较好的重建效果。
二、核心程序
clc;
clear;
close all;
warning off;
addpath 'func\\'
%步骤一,读取连续图像
folder = 'image\\2\\';
list = dir('image\\2\\*.bmp');
N = length(list);
for i=1:N
I = imread(fullfile(folder,list(i).name));
[s1,s2,k] = size(I);
%这里,我们人为的加入一些噪声等干扰,从来检测算法性能
r = imnoise2('gaussian',s1,s2,1,50);%填加高斯白噪声
tmpr = double(I(:,:,1)) + r;
tmpg = double(I(:,:,2)) + r;
tmpb = double(I(:,:,3)) + r;
Is(:,:,1) = tmpr;
Is(:,:,2) = tmpg;
Is(:,:,3) = tmpb;
I_Seq1i = I;
I_Seq2i = Is.^(0.95);
end
for i=1:N
i
I_curr = uint8(I_Seq1i);
I_curr_noise = uint8(I_Seq2i);
%第一步:当前帧
figure(1);
subplot(121);
imshow(I_curr,[]);title('原始图像');
subplot(122);
imshow(I_curr_noise,[]);title('加入干扰后的图像');
%第二步:图像亮度纠正
figure(2);
J = func_eq(I_curr_noise);
subplot(121);
imshow(I_curr_noise,[]);
title('原始图像');
subplot(122);
imshow(J,[]);
title('图像-光效亮度调整');
%第三步,第四步:去噪|自适应图像增强
figure(3);
subplot(121);
imshow(J,[]);
title('图像-光效亮度调整');
Jd = func_imagedenoise2(J);
subplot(122);
imshow(Jd,[]);
title('图像-光效亮度调整,去噪,增强');
%第五步:提高分辨率
figure(4);
subplot(121);
imshow(Jd,[]);
title('图像-光效亮度调整,去噪,增强');
Jd2 = func_fbl(Jd);
subplot(122);
imshow(Jd2,[]);
title('图像-光效亮度调整,去噪,增强,提高分辨率');
pause(2);
%保存最后处理后的图片
I_Seq3i = Jd2;
end
%第六步:最终处理效果对比
figure(5);
for i = 1:N
subplot(131);
imshow(uint8(I_Seq1i),[]);
title('原始图像');
subplot(132);
imshow(uint8(I_Seq2i),[]);
title('原始干扰图像');
subplot(133);
imshow(uint8(I_Seq3i),[]);
title('处理后图像');
pause(2);
end
三、仿真测试结果
针对运动图像序列中图像背景忽明忽暗等问题,采用相关图像增强方法如直方规定化,空域变换相等方法来实现图像亮度均衡,并利用帧间相关性,实现对运动图像序列下图像亮度矫正。
针对运动图像的去噪问题,采用一种自适应的去噪和增强模型,实现在抑制噪声的同时,增强图像细节和边缘轮廓信息,提高图像对比度。
针对运动图像超分辨率重建问题,采用一种是不依赖于亚像素的精确运动估计的重建方法,能够适应复杂的运动模式,且能够达到较好的重建效果。
光效处理部分说明:
亮度均衡,并利用帧间相关性,实现对运动图像序列下图像亮度矫正
这个部分,你可以参考如下的文献:
http://wenku.baidu.com/view/291ace24ccbff121dd3683b9.html
http://wenku.baidu.com/view/011d0a3ce2bd960591c67707.html
这个部分仿真效果如下所示:
去噪声和图像增强部分说明:
使用的是一种自适应门限的小波图像去噪算法。并结合直方图对图像进行增强,增强器对比度。
这个部分,你可以参考如下的文献:
http://wenku.baidu.com/view/77df10a20029bd64783e2c08.html
http://wenku.baidu.com/view/1f863a73f242336c1eb95eab.html
这个部分仿真效果如下所示:
提高分辨率部分说明:
这个主要是使用双线性插值和小波变换的分辨率提高算法。
这个部分,你可以参考如下的文献:
http://www.doc88.com/p-70898867144.html
这个部分仿真效果如下所示:
程序使用说明:
如上,将所要处理的图片放在一个文件下,然后修改上面的代码段,比如你的图片放在文件夹”3“中,那么上面只要改为:
folder = 'image\\3\\';
list = dir('image\\3\\*.bmp');
注意图片格式必须为bmp,如果是jpg,则将上面的bmp修改为jpg下即可。
测试图片仿真效果如下所示:
A23-08
以上是关于运动图像序列增强重建的matlab设计和仿真的主要内容,如果未能解决你的问题,请参考以下文章
MATLAB教程案例50通过VisualSFM工具箱提取360度等间隔环绕拍摄得到的图像序列点云数据,并进行目标三维重建matlab仿真