[i,lcmp]=imread('f:\tankbmp');%=======读取图像 显示图像
imshow(i,lcmp);
ii=im2double(i); %=====将图像矩阵类型转换为double(图像计算很多是不能用整型的)
i1 = fft2(ii); %======傅里叶变换
i2 =fftshift(i1); %======将变换的频率图像四角移动到中心(原来良的部分在四角 现在移动中心,便于后面的处理)
i3=log(abs(i2)); %=====显示中心低频部分,加对数是为了更好的显示
程序一
figure,imshow(i3,[]);
colormap(lcmp);
imwrite(i3,lcmp,'f:\ffttankbmp'); %===将上面i3输入到ffttank文件中
i5 = real(ifft2(ifftshift(i2))); %===频域的图反变换到空域 并取实部
i6 = im2uint8(mat2gray(i5)); %===取其灰度图
imwrite(i6,lcmp,'f:\tank2bmp','bmp'); %===利用灰度图和原来取得颜色模板 还原图像
figure,imshow(i6);
title('反变换后的图像');
程序二
RGB = imread('autumntif'); %===读取图像
I = rgb2gray(RGB); %==将其转为灰度
imshow(I);
J = dct2(I); %==二维dct变换,即离散余弦变换,
figure,imshow(log(abs(J)),[]) %==显示出变换后的图像,此时能量集中在左上角
colormap(jet(64)), colorbar %====建立颜色模板
figure;
J(abs(J) < 10) = 0; %==我理解为:因为dct变换只要保存左上角的低频小块就可以保持原图像信息,故其他部分(高频,其能量较小故值也小)就可以舍去
K = idct2(J)/255; %===这不加255,将下句改成imshow(K,[]);也一样,只是显示的需要
imshow(K);
title('反变换后的图像');
程序三我就不太懂了 %后面是我的解释 很久没碰了 有的可能会有些问题 希望可以帮到你
楼主你太狠了,5分要别人做这么多!
1图像的读入、显示及信息查询:
(1)I=imread ('lenajpg') %图像读入
imshow(I) %图像显示
(2)inf=imfinfo('lenajpg') % 图像信息查询
2图像的常用处理语句:
(1) X=rgb2gray(I) ; imshow(X) %彩色图像转灰度图像
(2)X2=grayslice(I,64) ; imshow(X2,hot(64)) %将灰度图像转为索引色图像
(3) X3=im2bw(X1) ; imshow(X3) %将图像转二值图像
3图像滤波:
clear all
g0=imread('lenatif')
g0 = g0(:,:,2); %三维转二维
figure(1);imshow(g0) ;title('原图') %如图 5
g1=imnoise(g0,'salt & pepper',02)
g1=im2double(g1);
figure(2);imshow(g1);title('加入椒盐噪声') %如图 6
h1=fspecial('gaussian',4,03)
g2=filter2(h1,g1,'same')
figure(3);imshow(g2);title('进行高斯滤波') %如图 7
h2=fspecial('sobel')
g3=filter2(h2,g1,'same')
figure(4);imshow(g3);title('进行sobel滤波') %如图 8
h3=fspecial('prewitt')
g4=filter2(h3,g1,'same')
figure(5);imshow(g4);title('进行prewitt滤波') %如图 9
h4=fspecial('laplacian',05);
g5=filter2(h4,g1,'same');
figure(6);imshow(g5);title('进行拉普拉斯滤波'); %如图 10
h5=fspecial('log',4,03);
g6=filter2(h5,g1,'same');figure(7);
imshow(g6);title('进行高斯拉普拉斯滤波'); %如图 11
h6=fspecial('average');
g7=filter2(h6,g1,'same');figure(8);
imshow(g7);title('进行均值滤波'); %如图 12
h7=fspecial('unsharp',03);
g8=filter2(h7,g1,'same');
figure(9);imshow(g8);title('进行模糊滤波'); %如图 13
h8=[0 -1 0;-1 5 -1;0 -1 0];
g9=filter2(h8,g1,'same');
figure(10);imshow(g9);title('进行高通高斯滤波'); %如图 14
h9=g1;g10=medfilt2(h9);
figure(11);imshow(g10);title('进行中值滤波'); %如图 15
会。逆滤波对加性噪声特别敏感,造成图像模糊,逆滤波会使原图像变模糊。逆滤波是一种常见且直观的图像恢复方法,它的主要过程是将退化后的图像从空间域变换到频域,进行逆滤波后在变换到空间域上从而实现图像的复原。
窗函数设计低通滤波器:
fp=1000;
fc=1200;
as=100;
ap=1;
fs=22000;
wp=2fp/fs;
wc=2fc/fs;
N=ceil((as-795)/(1436(wc-wp)/2))+1;
beta=01102(as-87);
window=Kaiser(N+1,beta);
b=fir1(N,wc,window);
freqz(b,1,512,fs);
结果:
高通滤波器:
fs=22000;
Wp=25000/fs;
Ws=24800/fs;
Ap=1;
As=100;
N=ceil(8pi/(Wp-Ws))+1;
N=N+mod(N+1,2)+1;
Wc=(Wp+Ws)/2/pi;
h=fir1(N,Wc,'high');
omega=linspace(0,pi,512);
freqz(h,1,omega);
结果:
带通滤波器:
fs=22000;
Wp1=21200/fs;
Wp2=23000/fs;
Wc1=21000/fs;
Wc2=23200/fs;
Ap=1;
As=100;
W1=(Wp1+Wc1)/2;
W2=(Wp2+Wc2)/2;
wdth=min((Wp1-Wc1),(Wc2-Wp2));
N=ceil(11pi/wdth)+1;
b = fir1(N,[W1 W2]);
freqz(b,1,512,fs)
结果:
双线性法设计低通滤波器:
fp=1000;
fc=1200;
as=100;
ap=1;
fs=22000;
wp=2fp/fs;
wc=2fc/fs; %归一化截止频率
[n,wn]=ellipord(wp,wc,ap,as);%求数字滤波器的最小阶数和归一化截止频率
[b,a]=ellip(n,ap,as,wn);%求传递函数的分子分母系数
freqz(b,a,512,fs);
结果:
滤波:
d=filter(b,a,y);
本节主要目的是介绍图像复原一些基本概念,如图像退化/复原过程的模型,图像复原的滤波方法,包括非约束复原(逆滤波)、有约束复原(维纳滤波)、非线性约束还原(最大熵),还有几何失真复原,来源于东北大学 魏颖教授的数字图像课程笔记。
在图像退化/复原建模之前先得知道 什么是图像退化 ?图像的质量变坏叫做退化。退化的形式有图像模糊、图像有干扰等。 为什么图像会退化呢 ?无论是由光学、光电或电子方法获得的图像都会有不同程度的退化; 退化的形式多种多样 。如传感器噪声、摄像机未聚焦、物体与摄像设备之间的相对移动、随机大气湍流、光学系统的相差、成像光源或射线的散射等;
图像复原和图象增强一样,都是为了 改善图像视觉效果 ,以及便于后续处理。 与图像增强不同 ,图像增强方法更偏向 主观判断 ,而图像复原则是根据图象畸变或退化原因,进行 模型化处理 。
图像恢复处理的关键问题在于建立退化模型。在缺乏足够的先验知识的情况下,可利用已有的知识和经验对模糊或噪声等 退化过程进行数学模型的建立及描述 ,并针对此退化过程的数学模型进行图像复原。
图像退化过程的先验知识在图像复原技术中起着重要作用。
一般地讲,复原的好坏应有一个规定的客观标准,以能对复原的结果作出某种最佳的估计。
在信号处理领域中,常常提及线性移不变系统(或线性空间不变系统),线性移不变系统有许多重要的性质,合理地利用这些性质将有利于我们对问题的处理。
寻找滤波传递函数,通过频域图像滤波得到复原图像的傅立叶变换,再求反变换,得到复原图像。
非约束复原是指除了使准则函数 最小外, 再没有其他的约束条件。因此只需了解退化系统的传递函数或冲激响应函数, 就能利用如前所述的方法进行复原。但是由于传递函数存在病态问题,复原只能局限在靠近原点的有限区域内进行, 这使得非约束图像复原具有相当大的局限性。
退化的原因为已知 :对退化过程有先验知识,如希望能确定PSF和噪声特性:即确定: 与 , 。
根据导致模糊的物理过程(先验知识) :
数字图像在获取过程中,由于成像系统的非线性,成像后的图像与原景物图像相比,会产生比例失调,甚至扭曲,这类图像退化现象称之为几何畸变。
几何畸变校正要对失真的图像进行精确的几何校正, 通常是先确定一幅图像为基准,然后去校正另一幅图像的几何形状。
几何畸变校正一般分两步来做:一是图像空间坐标的变换——空间变换;二是重新确定在校正空间各像素点的取值——灰度级插值。
空间变换:防止图象内容支离破碎(弄断直线)
灰度插值:目标图象会要求到原图象的非整数点。
图像经几何位置校正后,在校正空间中各像点的灰度值等于被校正图像对应点的灰度值。一般校正后的图像某些像素点可能挤压在一起,或者分散开,不会恰好落在坐标点上,因此常采用内插法来求得这些像素点的灰度值。经常使用的方法有如下两种。
1) 最近邻点法 :
最近邻点法是取与像素点相邻的4个点中距离最近的邻点灰度值作为该点的灰度值。如图所示。最近邻点法计算简单,但精度不高,同时校正后的图像亮度有明显的不连续性。
2) 双线性内插法 :
以上就是关于谁帮我解释数字图像处理的程序,刚学的,看不懂!全部的内容,包括:谁帮我解释数字图像处理的程序,刚学的,看不懂!、matlab图像处理教程、逆滤波会不会使原图像变模糊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)