图像复原模型matlab
《数字图像处理》课程实验报告实验名2:图像复原模型建立实验院系:班级:姓名:学号:哈尔滨工业大学
电气工程及自动化学院
光电信息工程
2015年12月13日
一、实验原理
二、实验内容
三、实验结果与分析
附主要程序代码:
%桶形失真演示程序
%Ref:
%
clc;clear;close all;
X=imread('C:\Documentsand Settings\Administrator\桌面\4.1.01.tiff');%读入图像X=rgb2gray(X);
X=double(X);
[M,N]=size(X);%获取图像的size
%M=32;N=M;
[x,y]=meshgrid(0:N-1,0:M-1);%生成网格矩阵坐标
x =x-[N-1]/2;%平移中心坐标至原点
y =y-[M-1]/2;%平移中心坐标至原点
r =abs(x+i*y);%极坐标关系的极径
r =r/max(r(:));%极坐标关系的极径:归一化
a =+0.4;K=1;%参数设置
xp =a*x.*r+x*[K-abs(a)];%失真后的坐标
yp =a*y.*r+y*[K-abs(a)];%失真后的坐标
%plot(x(:),y(:),'+');%绘图演示点阵效果
%hold on;
%plot(xp(:),yp(:),'o');%绘图演示点阵效果
dx =xp-x; %计算出位移dx
dy =yp-y; %计算出位移dy
Xp =interp2(x,y,X,x+dx,y+dy);%插值获得桶形失真后的图像
subplot(221);I1=imshow(X,[]);%显示原始图像
subplot(222);I2=imshow(Xp,[]);%显示桶形失真的图像
ti =title(['参数a =',num2str(a)],'Color','r');%显示参数值
Xq =interp2(x,y,Xp,x-dx,y-dy);%恢复桶形失真的图像
subplot(223);I3=imshow(Xq,[]);%显示恢复后的图像
set(gcf,'Name','桶形失真演示系统');%设置图像名称
Pu1=uicontrol(gcf,'Units','N','Position',[0.5,0.4,0.13,0.08],...
'Style','Push','String','选择图像',...
'HorizontalAlignment','Left','Fontsize',10,'Callback',[...
'[fname,pname]=uigetfile(''*.tiff'');',...
'if pname~=0;X=imread([pname,fname]);',...
'X =rgb2gray(X);X=double(X);set(I1,''CData'',X);',...
'xp =a*x.*r+x*[K-abs(a)];yp=a*y.*r+y*[K-abs(a)];',...
'dx =xp-x;dy =yp-y;Xp =interp2(x,y,X,x+dx,y+dy);',...
'Xq =interp2(x,y,Xp,x-dx,y-dy);',...
'set(I2,''CData'',Xp);',...
'set(I3,''CData'',Xq);end;']);%生成按钮控件,该控件用于选择图像
%Callback 部分是计算程序,实时地计算显示失真结果
S1=uicontrol(gcf,'Units','N','Position',[0.7,0.1,0.03,0.4],...
'Style','slide','min',0,'max',0.6,'value',0.3,...
'SliderStep',[0.01,0.01],...
'HorizontalAlignment','Left','Fontsize',10,'Callback',[...
'a =get(S1,''Value'');',...
'set(ti,''String'',[''参数a='',num2str(a)]);',...
'xp =a*x.*r+x*[K-abs(a)];yp=a*y.*r+y*[K-abs(a)];',...
'dx =xp-x;dy =yp-y;Xp =interp2(x,y,X,x+dx,y+dy);',...
'Xq =interp2(x,y,Xp,x-dx,y-dy);',...
'set(I2,''CData'',Xp);',...
'set(I3,''CData'',Xq);']);%生成滑动条控件,用于改变参数
%Callback 部分是计算程序,实时地计算显示失真结果;
%枕形失真演示程序
clc;clear;close all;
X=imread('C:\Documentsand Settings\Administrator\桌面\4.1.01.tiff');%读入图像X=rgb2gray(X);
X=double(X);
[M,N]=size(X);%获取图像数据的size
%M=32;N=M;
[x,y]=meshgrid(0:N-1,0:M-1);%生成坐标点阵坐标
x =x-[N-1]/2;%平移中心坐标至原点
y =y-[M-1]/2;%平移中心坐标至原点
r =abs(x+i*y);%极坐标关系的极径
r =r/max(r(:));%极坐标关系的极径:归一化
a =+0.4;K=1;%参数设置
xp =a*x.*r+x*[K-abs(a)];%失真后的坐标
yp =a*y.*r+y*[K-abs(a)];%失真后的坐标
%plot(x(:),y(:),'+');%绘图演示点阵效果
%hold on;
%plot(xp(:),yp(:),'o');%绘图演示点阵效果
dx =xp-x; %计算出位移dx
dy =yp-y; %计算出位移dy
Xp =interp2(x,y,X,x-dx,y-dy);%插值获得桶形失真后的图像
subplot(221);I1=imshow(X,[]);%显示原始图像
subplot(222);I2=imshow(Xp,[]);%显示桶形失真的图像
Xq =interp2(x,y,Xp,x+dx,y+dy);%恢复桶形失真的图像
ti =title(['参数a =',num2str(a)],'Color','r');%显示参数值subplot(223);I3=imshow(Xq,[]);%显示恢复后的图像
set(gcf,'Name','枕形失真演示系统');%设置图像名称
Pu1=uicontrol(gcf,'Units','N','Position',[0.5,0.4,0.13,0.08],...
'Style','Push','String','选择图像',...
'HorizontalAlignment','Left','Fontsize',10,'Callback',[...
'[fname,pname]=uigetfile(''*.tiff'');',...
'if pname~=0;X=imread([pname,fname]);',...
'X =rgb2gray(X);X=double(X);set(I1,''CData'',X);',...
'xp =a*x.*r+x*[K-abs(a)];yp=a*y.*r+y*[K-abs(a)];',...
'dx =xp-x;dy =yp-y;Xp =interp2(x,y,X,x-dx,y-dy);',...
'Xq =interp2(x,y,Xp,x+dx,y+dy);',...
'set(I2,''CData'',Xp);',...
'set(I3,''CData'',Xq);end;']);%生成按钮控件,该控件用于选择图像%Callback 部分是计算程序,实时地计算显示失真结果
S1=uicontrol(gcf,'Units','N','Position',[0.7,0.1,0.03,0.4],...
'Style','slide','min',0,'max',0.6,'value',0.3,...
'SliderStep',[0.01,0.01],'TooltipString',['a=',num2str(a)],...'HorizontalAlignment','Left','Fontsize',10,'Callback',[...
'a =get(S1,''Value'');',...
'set(S1,''TooltipString'',[''a='',num2str(a)]);',...
'set(ti,''String'',[''参数a='',num2str(a)]);',...
'xp =a*x.*r+x*[K-abs(a)];yp=a*y.*r+y*[K-abs(a)];',...
'dx =xp-x;dy =yp-y;Xp =interp2(x,y,X,x-dx,y-dy);',...
'Xq =interp2(x,y,Xp,x+dx,y+dy);',...
'set(I2,''CData'',Xp);',...
'set(I3,''CData'',Xq);']);%生成滑动条控件,用于改变参数
%Callback 部分是计算程序,实时地计算显示失真结果
运动恢复:
I =imread('C:\Documentsand Settings\Administrator\桌面\4.1.01.tiff');imshow(I)
BW1=edge(I,'sobel');
BW2=edge(I,'canny');
imshow(BW1)
figure, imshow(BW2)
相关文章
- 聚类分析法
- 数字图像处理的理论基础_孔大力
- 常用图像去模糊算法分析与对比
- 图像处理论文
- 通信工程论文题目推荐
- 有效去除图像混合噪声的方法
- 数字图像处理实验报告
- 浅析图像压缩编码方法
- 血管的三维重建
应用统计学课程论文: 浅析聚类分析法在碎纸拼接复原中的 应用 系别:工程管理 学号:B11080111 姓名:贾晓婷 指导老师:张亚峰 浅析聚类分析法在碎纸拼接复原中的应用 系别:工程管理 学号:B11080111 姓名:贾晓婷 指导教师: ...
第1期 ·12·山东水利职业学院院刊2013年3月 数字图像处理的理论基础 孔大力 徐 斌 (山东水利职业学院,山东日照276826) 摘要:本文简要概述了数字图像处理所研究的内容,对其中的几个重要过程:图像去噪.图像复原.图像增强的理论和 ...
2012-2013学年度第二学期 数字图像处理课程设计 题目: 常用图像去模糊算法分析与对比 院 系: 自动化学院 专 业:班 级: 控实1001班 姓 名: 朱延俊 学 号: U201014240 指导教师: 谭山 报告时间: 2013. ...
数字图像处理 图像灰度变换 图像的灰度变换处理是图像增强处理技术中一种非常基础.直接的空间域 图像处理方法,也是图像数字化软件和图像显示软件的一个重要组成部分.灰度 变换是指根据某种目标条件按一定变换关系逐点改变原图像中每一个像素灰度 值的 ...
一.通信: 1.无线通信信道均衡技术的研究 自适应均衡器的研究与仿真设计 自适应均衡器及其发展趋势 2.信道估计技术研究 3.调制解调 通信系统中调制技术的研究及其matlab仿真 4.信源编码 GSM移动通信系统中的语音编码技术研究 语音 ...
第29卷第1.3期 V01.29 No.13 计算机工程与设计 ComputerEngineeringandDesign 2008年7月 July2008 有效去除图像混合噪声的方法 李慧娜, 平源 (许昌学院计算机科学与技术学院,河南许昌 ...
实验一:数字图像基本操作及灰度调整 1.实验目的 1) 2) 3) 4) 掌握读.写图像的基本方法. 掌握MATLAB 语言中图像数据与信息的读取方法. 理解图像灰度变换处理在图像增强的作用. 掌握绘制灰度直方图的方法,理解灰度直方图的灰度 ...
Computer 与技术电脑知识与技术Computer Knowledge Knowledge and and Technology Technology 电脑知识 Vol.6,No.23, August 2010, pp.6584-658 ...
血管的三维重建 任务一 前期准备 一.对图像的处理: 1.首先提出细化的概念: 细化:也被称之为骨架化,是广泛运用于图像处理与模式识别的一个重要的图像预处理的过程.而图像的细化是特指在保持原图像的拓扑结构的情况下尽可能快的抽出一个单像素宽的 ...