0
点赞
收藏
分享

微信扫一扫

部分matlab代码



MyTest17.m

I
=
imread(
'
c:oat.png
'
);
%
读入原图像文件
imshow(I);
%
显示原图像
fftI
=
fft2(I);
%
二维离散傅立叶变换
sfftI
=
fftshift(fftI);
%
直流分量移到频谱中心
RR
=
real(sfftI);
%
取傅立叶变换的实部
II
=
imag(sfftI);
%
取傅立叶变换的虚部
A
=
sqrt(RR.
^
2
+
II.
^
2
);
%
计算频谱幅值
A
=
(A
-
min(min(A)))
/
(max(max(A))
-
min(min(A)))
*
225
;
%
归一化
figure;
%
设定窗口
imshow(A);
%
显示原图像的频谱









MyTest18.m



I =
imread(
'
c:oat.png'); % 读入原图像

J
=
histeq(I); %对原图像进行直方图均衡化处理
Imshow(I); %显示原图像
Title( '
原图像');%给原图像加标题名

figure,imshow(J);%对原图像进行屏幕控制;显示直方图均衡化后的图像
Title( '
直方图均衡化后的图像') ; %给直方图均衡化后的图像加标题名

figure; subplot(
1
,
2
,
1
) ;%对直方图均衡化后的图像进行屏幕控制;作一幅子图作为并排两幅图的第1幅图
Imhist(I, 64
); %将原图像直方图显示为64级灰度
Title( '
原图像直方图') ; %给原图像直方图加标题名

Subplot(
1
,
2
,
2
); %作第2幅子图
Imhist(J, 64
) ; %将均衡化后图像的直方图显示为64级灰度
Title( '
均衡变换后的直方图') ; %给均衡化后图像直方图加标题名



MyTest19.m

利用行程编码(RLE)进行图像压缩




I = imread(
'
c:oat.png
'
);
%
调入原图像
[m n] = size(I);
J = [];
for
i
=
1
:
m
value = I(i
,
1
);
num = 1
;
for
j
=
2
:
n
if
I(i
,
j)
==
value
num = num
+
1
;
else

J = [J num value];
num = 1
;
value = I(i
,
j);
end

end

I = [J num value
0

0
];
%
添加的行判断位
0

0

end

disp( ' 原图像大小:
'
)
whos( ' I
'
);
disp( ' 压缩图像大小:
'
)
whos( ' J
'
);
disp( ' 图像的压缩比:
'
)
disp(m * n
/
length(J))


















MyTest20 . m
图像融合

1
)调入
,
显示两幅图像的程序语句
load tartan;
X1 = X;map1
=
map;
Load sinsin;
X2 = X;map2
=
map;
%
打开图像
Subplot( 1
2

1
)
Image(X1) , colormap(map1);
Title( ' 图像map1
'
)
Subplot( 1
2

2
)
Image(X2) , colormap(map2);
Title( ' 图像map2
'
)
%
显示两幅图像
2
)两幅图像直接融合的程序语句
figure , subplot(
1

3

1
)
image((X1 + X2)
/
2
)
,
colormap(map2);
%
在空域内直接融合
title( ' 两图像直接相加融合
'
)
%
显示融合后的图像
,
并命名为
"
两图像直接相加融合
"

3
)两幅图像傅立叶变换融合的程序语句
F1 = fft2(X1);
F2 = fft2(X2);
%
分别计算两幅图像的快速傅立叶变换
X = abs
(ifft2(F1
+
F2)
/
2
);
%
两幅图像在频域内相加后的傅立叶逆变换
Subplot( 1
3

2
)
Image(X) , colormap(map2);
%
显示融合后的图像
Title( ' 两幅图像傅立叶变换融合
'
)
%
给融合后的图像命名并显示在图上
4
)两幅图像小波变换融合的程序语句
[C1 , L1]
=
wavedec2(X1
,
2
,

'
sym4
'
);
[C2 , L2]
=
wavedec2(X2
,
2
,

'
sym4
'
);
%
分别对两幅原图像进行小波分解
C = C1
+
C2;
%
对分解系数进行融合
X = waverec2(C
,
L1
,

'
sym4
'
);
%
对融合后的信号进行图像重构
Subplot( 1
3

3
)
Image(X / 2
)
,
colormap(map2);
%
显示经过小波变换融合后的图像
Title( ' 两图像小波变换融合
'
)
%
给融合后的图像命名并显示在图上

举报

相关推荐

0 条评论