|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
" l; A3 d: O; f" |- v图像的乘法运算主要用于实现图像的掩膜处理,即屏蔽掉图像中的某些部分。图像的缩放是指一幅图像乘以一个常数,如果该常数大于 1,则图像的亮度将增强,如果常数小于1,则图像的亮度会变暗。matlab中用immultiply()函数实现乘法运算。( e+ F4 A: ?: E% x
. o5 i n W8 u, H+ Z. t! Sclose;( H8 h0 G: F. t
clear all;/ d8 N) U: d# y: q# c# F, @# L. J
clc;
4 Z3 Y$ h# ?% ^I = imread('rice.png');
- s7 Z/ X( z' p J* h' Q& }I1 = uint16(I);
6 t% u" U2 w1 H# B+ J( wI2 = immultiply(I1,I1);
# l. e: o. V: i! \* a- |I3 = immultiply(I,1.2);
/ }5 t6 _( X- P( t6 LI4 = immultiply(I,0.6);
- X: n9 J4 x/ ^subplot(2,2,1);imshow(I);title('原始图像');; t6 \: \. h; _, J: L/ e, u/ [+ s
subplot(2,2,2);imshow(I2,[]);title('图像自乘');
% w B6 L0 G9 s$ a4 r7 ]7 Y7 Q. p! rsubplot(2,2,3);imshow(I3,[]);title('图像扩大像素');
) r6 h2 ~% m9 h1 m2 xsubplot(2,2,4);imshow(I4);title('图像缩小像素');
: G c2 U) q9 M3 ~6 U' O' z( x
1 ^# B; ]! c. D4 ~
/ @$ \% m6 Q2 B. |/ \+ Z U2 x$ w6 }& }
通过上图可以看出来,图像扩大像素,使得整幅图像变得明亮,但是对比度并没有提高,缩小像素使得变暗。
+ C) H# c. @ c6 |7 Y3 B8 x2 n2 H0 l" S/ P4 f( `" ?
而图像自乘的意义是什么?- }* D- r5 C0 E6 T7 o! N w5 ]
. ~2 _8 C& Z/ `, Y3 a
我们可以猜测,假如一个点A的像素值为6,相邻点B的像素值为9,它们相差3,因此视觉上对比度有3。当图像自乘之后,A点像素值为36,B点像素值为81,他们相差55,* L" j% ?' @: S/ O6 D; |
3 y0 ?2 @4 f( e( k+ B1 K
因此对比度更加的强烈。为了能够显示出来像素值超过255的,我们使用了imread('',[])。并且结合上面的图像,可以得出结论,图像自乘,可以提高对比度。
?: I3 V+ p% }( t/ W3 W( ?5 P& f
# j9 B2 n I! L+ F7 k( w
8 |$ Q4 U6 d( n7 R% C
0 |3 q% a4 N. u4 @) q
结合变量的工作空间,我们也可以看到,自乘之前图像的灰度值为40-255,自乘之后变为了1600-41416,这大大拉大了亮暗图像点之间的差距,即提高了对比度。+ Z' L% D6 j6 e8 D0 l0 k t$ l
4 H5 i" p/ |: k9 `, Q |
|