|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
q3 F& M/ B! t$ u. f% {9 P# _! t0 {
如果我们想在一幅图像上加上一个背景,那么我们可以将两幅做加法运算,在matlab中既可以使用imlincomb()函数,也可以使用imadd()函数。1 o. K: k: G7 V6 T( a1 q5 x
G) E6 h& ~7 y: V F, R
close;
# L6 ]: }+ e' ]* |clear all;
+ l7 P( C0 Q9 z% Y6 s+ _clc;( ?, X+ f9 m2 j
A1 = imread('rice.png');/ l0 v1 j+ u8 G$ g+ D6 B
A2 = imread('cameraman.tif');
5 V4 v- r8 _0 L2 _K = imlincomb(0.5,A1,0.5,A2);* ^ m! q" I2 a4 D6 s
subplot(1,3,1),subimage(A1);
( c% o" P7 @4 n1 [title('原始图像1');: K- l! P( y/ t/ Q5 U4 ^# |
subplot(1,3,2),subimage(A2);" G+ @. c7 }! |7 ~
title('原始图像2');
p9 h9 V. k% i& [" esubplot(1,3,3),subimage(K);
: K( H. G/ S i4 Z& k: Ntitle('0.5X图像1+0.5X图像2');4 ]2 Y4 c N Y& A. W
6 E. i8 S+ n# d
7 y7 g. k! j, U
( t U: t* g8 d) d
改变两幅图像所占的比例:" Z- r: z* S9 r W
3 I! {6 X) m6 a3 ?9 I; \7 _
第一幅仅占10%,第二幅占90%。
4 h S6 ^' c9 Q) a6 j5 T
' g+ z6 Z( D* f# D- `7 j# U$ o- T- v
3 D9 i i3 r8 c* ]! h b1 H& z
# n) b) G3 s# Y0 o
可以明显看到,第二幅图像更加明显。
' S) \3 `: D$ ^/ L1 D4 Y% O8 @+ j; H" x1 C7 Z/ F
使用imadd()函数同样可以实现图像的加法运算;- y( K9 N% [0 y' d% W
1 _2 A' ^8 Y O) X [$ hclose;% h* x. L0 t- i9 m4 e/ c
clear all;
# r+ f0 F; o: Z6 X0 Cclc;
7 R9 D4 Z" N- l2 ~' t6 n ]0 RA1 = imread('rice.png');3 Z5 F9 v8 s( u9 G6 e: x' @# F
A2 = imread('cameraman.tif');8 S+ I: \0 n u6 g6 a! K& D8 b
K = imadd(A1,A2,'uint16');%图像相加,防止像素值超出255,因此把结果存为16位
; [0 q* q6 x7 `$ efigure;
/ Z+ g$ `. A3 Tsubplot(1,3,1);imshow(A1);title('rice原始图像');" Q8 A. l3 H1 a, G# K) F' Y, m
subplot(1,3,2);imshow(A2);title('cameraman原始图像');6 m7 i6 S' t. h7 [ H2 G
subplot(1,3,3);imshow(K,[]);title('相加图像');%注意使用imshow函数时,要加上[],以使得像素值压缩至0—255$ R) @3 x5 K& P2 j
, a( e9 p& F/ d2 ~" Q7 {
A8 f# r+ Q/ V& m; _" ?3 a
2 L D$ d: S1 @: `0 a
|
|