数字图像实验报告(2)

2019-04-02 11:28

subplot(3,2,1); imshow(real(I)); I=I(:,:,3); fftI=fft2(I);

sfftI=fftshift(fftI); %求离散傅里叶频谱

%对原始图像进行二维离散傅里叶变换,并将其坐标原点移到频谱中央位置 RRfdpl=real(sfftI); IIfdpl=imag(sfftI);

a=sqrt(RRfdpl.^2+IIfdpl.^2);

a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225; subplot(3,2,2); imshow(real(a)); I=imread('2.bmp');

%I=imread('LENA.JPG'); %imshow(I); subplot(3,2,3); imshow(real(I)); I=I(:,:,3); fftI=fft2(I);

sfftI=fftshift(fftI); %求离散傅里叶频谱

%对原始图像进行二维离散傅里叶变换,并将其坐标原点移到频谱中央位置 RRfdpl=real(sfftI); IIfdpl=imag(sfftI);

a=sqrt(RRfdpl.^2+IIfdpl.^2);

a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225; subplot(3,2,4); imshow(real(a)); I=imread('3.bmp');

%I=imread('LENA.JPG'); %imshow(I); subplot(3,2,5); imshow(real(I)); I=I(:,:,3); fftI=fft2(I);

sfftI=fftshift(fftI); %求离散傅里叶频谱

%对原始图像进行二维离散傅里叶变换,并将其坐标原点移到频谱中央位置 RRfdpl=real(sfftI); IIfdpl=imag(sfftI);

a=sqrt(RRfdpl.^2+IIfdpl.^2);

a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225; subplot(3,2,6); imshow(real(a));

结果:

2、程序:

I=zeros(256,256);

I(88:168,124:132)=1; %图像范围是256*256,前一值是纵向比,后一值是横向比

figure(),subplot(2,2,1);

imshow(I); %求原始图像的傅里叶变换 J=fft2(I); F=abs(J); J1=fftshift(F); subplot(2,2,2); imshow(J1,[5 50]); %对原始图像进行旋转

J=imrotate(I,90,'bilinear','crop'); subplot(2,2,3); imshow(J);

%求旋转后图像的傅里叶频谱 J1=fft2(J); F=abs(J1); J2=fftshift(F); subplot(2,2,4); imshow(J2,[5 50]);

结果:

3、程序:

%对 lena24.jpg文件计算二维DCT变换 RGB = imread('lena24.jpg'); figure(1),subplot(1,3,1); imshow(RGB); I = rgb2gray(RGB);

%真彩色图像转换成灰度图像 J = dct2(I);

%计算二维DCT变换 subplot(1,3,2);

imshow(log(abs(J)),[]);

%对图像大部分能量集中在上右角处 subplot(1,3,3); J(abs(J) < 10) = 0;

%吧变换矩阵镇南关小于10的值置换为0,然后用idc2重构图像 K = idct2(J)/255; imshow(K); 结果:

4、程序:

RGB = imread('lena24.jpg'); I=rgb2gray(RGB);

I = im2double(I); %转换图像矩阵为双精度型 T = dctmtx(8); %产生二维00?变换矩阵,

%矩阵T及其转置T‘是DCT函数P1*X*P2的参数 B = blkproc(I, [8 8],'P1*x*P2',T,T'); mask1= [ 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];

%二值掩模,用来压缩DCT系数 B2=blkproc(B,[8 8],'P1.*x',mask1); %只保留DCT变换的10个系数 I2=blkproc(B2,[8 8],'P1*x*P2',T',T); %重构图像

figure,imshow(I); figure,imshow(B2); figure,imshow(I2); 结果:

实验三 图像的增强

实验内容 1、程序: clear all close all

I{1}=double(imread('lena8.jpg')); I{1}=I{1}/255;

figure(1),subplot(2,4,1),imshow(I{1},[]),hold on I{2}=double(imread('lena1.jpg')); I{2}=I{2}/255;

subplot(2,4,5),imshow(I{2},[]),hold on for m=1:2 Index=0;

for lemta=[0.5 5] Index=Index+1;

F{m}{Index}=I{m}.^lemta; subplot(2,4,(m-1)*4+Index+1), imshow(F{m}{Index},[]) end end 结果:

2、程序: clear all close all %0.读图像

I=double(imread('lena8.jpg')); figure,

imshow (I,[]) N=32;

Hist_image=hist (I(:),N) ; %直方图

Hist_image=Hist_image/sum (Hist_image); Hist_image_cumulation=cumsum(Hist_image); %累计直方图 figure,

stem([0:N-1] ,Hist_image) ; %1.设计目标直方图 Index=0:N-1; Index=0:7;

%正态分布直方图

Hist{1}=exp(-(Index-4).^2/8); Hist{1}=Hist{1}/sum(Hist{1});

Hist_cumulation{1}=cumsum(Hist{1}); figure,

stem([0:7],Hist{1}) %倒三角形状直方图 Hist{2}=abs(15-2*Index);

Hist{2}=Hist{2}/sum(Hist{2});

Hist_cumulation{2}=cumsum(Hist{2}); figure,

stem([0:7],Hist{2}) %2.规定化处理 for m=1:2 Image=I;

%2.1 SML处理 for k=1:N

Temp=abs(Hist_image_cumulation(k)-Hist_cumulation{m}); [Tempi,Project{m}(k)]=min(Temp); end

%2.2变换后直方图 for k=1:N

Temp=find(Project{m}==k); if isempty(Temp)

Hist_result{m}(k)=0; else

Histresult{m}(k)=sum(Hist_image(Temp)); end end figure,


数字图像实验报告(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高中化学知识手册

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: