|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
' v) b6 C4 g& U, E5 F6 A+ M如果我们想在一幅图像上加上一个背景,那么我们可以将两幅做加法运算,在matlab中既可以使用imlincomb()函数,也可以使用imadd()函数。6 n- U& X$ x5 A; `; p& ]
: ]+ [/ I1 [: k" t- b7 Bclose;5 q' j( N* E' W9 [$ _( `
clear all;
" c* x5 ?5 u/ Kclc;
- _' ]# I2 p5 |6 `A1 = imread('rice.png');
- F S* K! X1 N! Y* ]& d- m+ {5 `A2 = imread('cameraman.tif');+ U6 `) W2 c% k2 }$ |2 O: ?; W* _ L
K = imlincomb(0.5,A1,0.5,A2);
" H! ?' u- \$ b0 V8 D% j% s0 Lsubplot(1,3,1),subimage(A1);9 T; F; }1 Z) o. R0 S' A$ p& q
title('原始图像1');
0 E* Y+ ~0 q, ?$ {4 s+ V% Zsubplot(1,3,2),subimage(A2);2 I/ K% X) K0 P' J- `3 b5 s. p
title('原始图像2');
" {6 S3 l* {6 q7 V* esubplot(1,3,3),subimage(K);
( j V; {* R8 x+ N8 atitle('0.5X图像1+0.5X图像2');; E$ f( o3 W9 m6 P# X! i ]" B+ a
$ I6 X" U3 q8 I8 }& s
" O6 _+ n7 {1 D( h& G
- R8 k6 Z1 U y" w& y( K3 g0 @$ {改变两幅图像所占的比例:& V! z) a' \6 a" {
. }) N) |# T9 ?) Z0 _! n1 k
第一幅仅占10%,第二幅占90%。
, z/ T* d8 Q" x$ P2 Y4 f& ?
* j, X2 q2 s) Z9 i) t
) H' g+ ]7 @7 ^- E& v/ ~4 K [
9 |9 } f0 v+ t/ r9 p* L/ L可以明显看到,第二幅图像更加明显。
% O! b# s! R$ C% z( G$ k) v% g/ {. e, H9 B; o
使用imadd()函数同样可以实现图像的加法运算;
" k" h8 {. E$ R% s: k9 Y6 Z; ?8 d; P3 r! R' O3 p
close;$ N% x$ ]8 n; f0 y9 x
clear all;
& q6 J$ L9 c- C8 F/ yclc;
# p n5 ^3 M7 N0 t" p/ @A1 = imread('rice.png');0 k) |. l2 W% L! t
A2 = imread('cameraman.tif');( P9 b' q9 O, L/ E) _5 g
K = imadd(A1,A2,'uint16');%图像相加,防止像素值超出255,因此把结果存为16位! D' D- g! ?6 E' [$ e* I& _
figure;
3 ~1 V t4 y# d% rsubplot(1,3,1);imshow(A1);title('rice原始图像');2 Z, J0 [4 S# Q6 D. s6 k$ c9 g% j
subplot(1,3,2);imshow(A2);title('cameraman原始图像');
/ d2 v* |. n7 [8 [9 I* Isubplot(1,3,3);imshow(K,[]);title('相加图像');%注意使用imshow函数时,要加上[],以使得像素值压缩至0—255
6 x& m8 ?2 a& R, X9 B+ E
& m$ Q: d8 m2 a6 X
+ K, R# i2 [* |1 C8 Z5 o* k$ g
- k6 i7 v2 E; p: x5 T T+ z |
|