MATLAB图像增强程序举例文档格式.docx
- 文档编号:16906686
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:8
- 大小:596.06KB
MATLAB图像增强程序举例文档格式.docx
《MATLAB图像增强程序举例文档格式.docx》由会员分享,可在线阅读,更多相关《MATLAB图像增强程序举例文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
%IfTOP<
BOTTOM,theoutputimageisreversed,asinaphotographicnegative.
2.直方图灰度变换
%直方图灰度变换
[X,map]=imread('
forest.tif'
I=ind2gray(X,map);
%把索引图像转换为灰度图像
title('
原图像'
improfile%用鼠标选择一条对角线,显示线段的灰度值
subplot(121)
plot(0:
0.01:
1,sqrt(0:
1))
axissquare
平方根灰度变换函数'
)
subplot(122)
maxnum=double(max(max(I)));
%取得二维数组最大值
J=sqrt(double(I)/maxnum);
%把数据类型转换成double,然后进行平方根变换
%sqrt函数不支持uint8类型
J=uint8(J*maxnum);
%把数据类型转换成uint8类型
平方根变换后的图像'
3.直方图均衡化程序举例
%HISTGRAMEAQUALIZATION
%Clearcommandwindow
tire.tif'
%readstheimageintire.tifintoI
%displaystheintensityimageIwith256graylevels
%createsanewfigurewindow
imhist(I);
%displaysahistogramfortheintensityimageI
J=histeq(I,64);
%transformstheintensityimageI,returningJanintensity
%imagewith64discretelevels
imhist(J);
J=histeq(I,32);
%transformstheintensityimage,returningin%Janintensity
%imagewith32discretelevels
4.直方图规定化程序举例
%HISTGRAMREGULIZATION
%Clearcommandwindow
%readstheimageintire.tifintoI
%transformstheintensityimageI,returningin
%Janintensityimagewith32discretelevels
[counts,x]=imhist(J);
%displaysahistogramfortheintensityimageI
Q=imread('
imshow(Q);
imhist(Q);
M=histeq(Q,counts);
%transformstheintensityimageQsothatthe
%histogramoftheoutputimageMapproximatelymatchescounts
imshow(M);
imhist(M);
空域滤波增强部分程序
1.线性平滑滤波
eight.tif'
J=imnoise(I,'
salt&
pepper'
0.02);
subplot(221),imshow(I)
subplot(222),imshow(J)
添加椒盐噪声图像'
K1=filter2(fspecial('
average'
3),J)/255;
%应用3*3邻域窗口法
subplot(223),imshow(K1)
3x3窗的邻域平均滤波图像'
K2=filter2(fspecial('
7),J)/255;
%应用7*7邻域窗口法
subplot(224),imshow(K2)
7x7窗的邻域平均滤波图像'
2.中值滤波器
MATLAB中的二维中值滤波函数medfit2来进行图像中椒盐躁声的去除
%IMAGENOISEREDUCTIONWITHMEDIANFILTER
hood=3;
%滤波窗口
[I,map]=imread('
imshow(I,map);
noisy=imnoise(I,'
0.05);
imshow(noisy,map);
filtered1=medfilt2(noisy,[hoodhood]);
imshow(filtered1,map);
hood=5;
filtered2=medfilt2(noisy,[hoodhood]);
imshow(filtered2,map);
hood=7;
filtered3=medfilt2(noisy,[hoodhood]);
imshow(filtered3,map);
3.4邻域8邻域平均滤波算法
%IMAGENOISEREDUCTIONWITHMEANALGORITHM
myfilt1=[010;
111;
010];
%4邻域平均滤波模版
myfilt1=myfilt1/9;
%对模版归一化
filtered1=filter2(myfilt1,noisy);
myfilt2=[111;
111];
myfilt2=myfilt2/9;
filtered2=filter2(myfilt2,noisy);
频域增强程序举例
1.低通滤波器
%LOWPASSFILTER
gaussian'
myfilt1=[111;
121;
myfilt2=myfilt2/10;
myfilt3=[121;
242;
121];
myfilt3=filter2(myfilt3,noisy);
2.布特沃斯低通滤波器图像实例
saturn.png'
subplot(121),imshow(J)
含噪声的原图像'
J=double(J);
f=fft2(J);
g=fftshift(f);
[M,N]=size(f);
n=3;
d0=20;
n1=floor(M/2);
n2=floor(N/2);
fori=1:
M;
forj=1:
N;
d=sqrt((i-n1)^2+(j-n2)^2);
h=1/(1+0.414*(d/d0)^(2*n));
g(i,j)=h*g(i,j);
end
g=ifftshift(g);
g=uint8(real(ifft2(g)));
subplot(122),imshow(g)
三阶Butterworth滤波图像'
色彩增强程序举例
1.真彩色增强实例:
%真彩色图像的分解
RGB=imread('
peppers.png'
subplot(221),imshow(RGB)
原始真彩色图像'
subplot(222),imshow(RGB(:
:
1))
真彩色图像的红色分量'
subplot(223),imshow(RGB(:
2))
真彩色图像的绿色分量'
subplot(224),imshow(RGB(:
3))
真彩色图像的蓝色分量'
2.伪彩色增强举例:
cameraman.tif'
X=grayslice(I,16);
%thresholdstheintensityimageIusing
%thresholdvalues1/16,2/16,…..,15/16,returninganindexed%imageinX
imshow(X,hot(16));
3.假彩色增强处理程序举例
[RGB]=imread('
ghost.bmp'
imshow(RGB);
RGBnew(:
1)=RGB(:
3);
2)=RGB(:
1);
3)=RGB(:
2);
subplot(121);
subplot(122);
imshow(RGBnew);
主要转载自:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 图像 增强 程序 举例