数字图像处理MATLAB作业3.docx
- 文档编号:11543906
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:15
- 大小:1.60MB
数字图像处理MATLAB作业3.docx
《数字图像处理MATLAB作业3.docx》由会员分享,可在线阅读,更多相关《数字图像处理MATLAB作业3.docx(15页珍藏版)》请在冰点文库上搜索。
数字图像处理MATLAB作业3
3.1
I=imread('bmp.bmp');%把一个BMP灰度图像读入到变量I中
I1=im2double(I);%图像灰度值的双精度化
figure,imhist(I1);%打开一个新图形窗口来显示直方图
I2=imadjust(I1,[00.3],[01]);%把图像的灰度范围从[0,0.3]拉伸到[0,1]
figure,imshow(I2);%打开一个新图形窗口显示增强后的图像
figure,imhist(I2);%打开一个新图形窗口显示增强后的直方图
3.2
I=imread('lf.bmp');imshow(I);%读入并显示一幅BMP频谱图像
I1=double(I);%双精度化
I2=log(I1+1);%对数变换
I3=mat2gray(I2);%把图像的灰度范围变换为[01]范围
figure,imshow(I3);%打开一个新的图形窗口显示减少动态范围后的频谱图像
3.4
I=imread('fj.bmp');I=rgb2gray(I);imshow(I);title('原始图像');%读入并显示一幅灰度图像
figure,imhist(I);title('原始直方图');%打开一个新的图形窗口显示原始图像的直方图
[I1,T]=histeq(I);%直方图均衡化
figure,imshow(I1);title('均衡化后');%打开一个新的图形窗口显示均衡化后的图像
figure,imhist(I1);title('均衡化后直方图');%打开一个新的图形窗口显示均衡化后的直方图
figure,plot((0:
255)/255,T);title('变换曲线');%打开一个新的图形窗口画出变换曲线
3.6
I=imread('fj.bmp');I=rgb2gray(I);imshow(I);title('原始图像');%读入并显示一幅灰度图像
figure,imhist(I);title('原始直方图');%打开一个新的图形窗口显示原始图像的直方图
[I1,T]=histeq(I);%直方图均衡化
figure,imshow(I1);title('均衡化后');%打开一个新的图形窗口显示均衡化后的图像
figure,imhist(I1);title('均衡化后直方图');%打开一个新的图形窗口显示均衡化后的直方图
figure,plot((0:
255)/255,T);title('变换曲线');%打开一个新的图形窗口画出变换曲线
3.7
clc;clearall;
I=imread('hua.bmp');
imshow(I),title('hua.bmp');%把一个图形窗口划分为1×2矩形显示区域,在图形窗口的左侧区域显示图像I
I1=double(I);%数据类型转换,不支持无符号整型计算
[M,N]=size(I1);%计算图像的高和宽
%产生高斯型高通滤波器
m=round(M/2);n=round(N/2);%四舍五入取整
hh=1.035;hl=0.7;c=3;
fori=1:
M
forj=1:
N
d(i,j)=sqrt((i-m)^2+(j-n)^2);
end
end
d0=median(median(d));
fori=1:
M
forj=1:
N
h(i,j)=(hh-hl)*(1-exp(-c*(d(i,j)/d0)))+hl;%高通滤波器
end
end
[i,j]=meshgrid(1:
M,1:
N);
figure,mesh(h);title('highpassfilter');
%同态滤波
h=h';
I2=log(I1+1);%对数变换
I3=fft2(I2);%傅立叶变换
I3=fftshift(I3);%频谱中心化
I3=reshape(I3,384,1152);
I4=I3.*(h);%滤波
I4=reshape(I4,384,384,3);
I4=ifftshift(I4);%频谱反中心化
I4=ifft2(I4);%傅立叶反变换
I5=exp(I4-1);%指数变换
I6=real(I5);%取幅值
I7=mat2gray(I6);%恢复变换后的数值范围
figure,imshow(I7);title('adjustedimageintensityvalue');%在图形窗口的右侧区域显示结果图像
3.8
I=imread('lf.bmp');
I=rgb2gray(I);imshow(I);%读入和显示一幅原始图像
title('originalimage')%给图像加标题
X=grayslice(I,16);%将灰度范围分成16层
%X=grayslice(I,n)用阈值1/n,2/n,...,(n-1)/n阈值化灰度图像I,并返回索引图像X。
figure,imshow(X,hot(16));%黑红黄白浓淡色的伪彩色
title('graysliceimage');%给图像加标题
3.9
I=imread('lf.bmp');
I=rgb2gray(I);
figure;subplot(1,2,1);imshow(I);title('原始图像');
[M,N]=size(I);
J=double(I);
L=256;
fori=1:
M
forj=1:
N
ifJ(i,j) R(i,j)=0; G(i,j)=4*J(i,j); B(i,j)=L; elseifJ(i,j)<=L/2 R(i,j)=0; G(i,j)=L; B(i,j)=-4*(J(i,j)-L/2); elseifJ(i,j)<=3*L/4 R(i,j)=4*(J(i,j)-L/2); G(i,j)=L; B(i,j)=0; else R(i,j)=L; G(i,j)=-4*(J(i,j)-L); B(i,j)=0; end end end OUT=repmat(I,[113]); fori=1: M forj=1: N OUT(i,j,1)=R(i,j); OUT(i,j,2)=G(i,j); OUT(i,j,3)=B(i,j); end end subplot(1,2,2);imshow(OUT);title('灰度变换法伪彩色增强后图像') 3.10 I=imread('lf.bmp');%读入一幅原始图像 I=rgb2gray(I); I1=imadjust(I,stretchlim(I),[]);%对原始图像进行灰度变换的增强 figure,imshow(I1);%打开一个新的图形窗口并显示增强后的图像 B=im2bw(I1,graythresh(I1));%对增强后的图像进行阈值处理 figure,imshow(B);%打开一个新的图形窗口并显示阈值处理后的图像 3.11 [X,Y,Z]=peaks(80);n=8;%获得peaks图形数据,给定等高线分级数n subplot(1,2,1),pcolor(X,Y,Z)%伪彩色图 colormap('jet'),shadinginterp%色图矩阵采用蓝头红尾饱和色,浓淡插值 holdon,C=contour(X,Y,Z,n,'k');%图上用黑虚线画等位线 clabel(C)%以+引导水平放置标识C colorbar;%显示垂直色标尺 holdoff,subplot(1,2,2)%画图结束在右侧显示下图 [C,h]=contourf('v6',X,Y,Z,n,'k');%黑虚线画填色等位线 clabel(C,h)%沿线布置标识C 3.12 I=imread('hua.bmp'); I=rgb2gray(I); I1=imadjust(I,stretchlim(I),[]);%把图像灰度从原始范围拉伸到全部范围 imshow(I1);%显示灰度增强后的图像 colorbar('vert');%显示颜色条 colormap('jet'); 3.13 subplot(1,3,1);sphere(30);%打开一个图形窗口并将其在水平方向分成三个子窗口,在左侧子窗口显示一球体(SPHERE(N)Generatespherebythree(N+1)-by-(N+1)matrices) axissquare;%横轴和纵轴的比例是1: 1 shadingflat%采用分层明暗处理 grid;title('FlatShading');%除去网格,显示标题 subplot(1,3,2);sphere(30);%在中间的子窗口显示一个球体 axissquare;%横轴和纵轴的比例是1: 1 shadingfaceted%采用小方块明暗处理 grid;title('FacetedShading');%除去网格,显示标题 subplot(1,3,3);sphere(30);%在最右边的子窗口显示一个球体 axissquare;%横轴和纵轴的比例是1: 1 shadinginterp%采用插补明暗处理 grid;title('InterpolatedShading');%除去网格,显示标题 3.14 rgb=imread('hua.bmp');%读入一幅真彩色图像 subplot(1,2,1);imshow(rgb);%显示该真彩色图像 f_rgb(: : 1)=rgb(: : 3);%把蓝色分量变为红色分量 f_rgb(: : 2)=rgb(: : 1);%把红色分量变为绿色分量 f_rgb(: : 3)=rgb(: : 2);%把绿色分量变为蓝色分量 subplot(1,2,2);imshow(f_rgb);%显示假彩色处理后图像
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 MATLAB 作业