|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
: R# e. X; O4 O图像的乘法运算主要用于实现图像的掩膜处理,即屏蔽掉图像中的某些部分。图像的缩放是指一幅图像乘以一个常数,如果该常数大于 1,则图像的亮度将增强,如果常数小于1,则图像的亮度会变暗。matlab中用immultiply()函数实现乘法运算。% o% t3 e4 `' h P: \7 d3 L9 Z
6 a3 [+ Q! J% _3 n$ w+ ~6 x
close;! m" w3 X3 Y! o7 k
clear all;+ q( o& `7 x% L1 ]( f' ^
clc;$ Z% b, b8 A# j# H7 k1 \* ~
I = imread('rice.png');* n* d$ ?& u/ R
I1 = uint16(I);
* H, M: G1 E; N/ _8 g% FI2 = immultiply(I1,I1); e8 Z; G8 ~6 E! }, c$ u
I3 = immultiply(I,1.2);
1 n2 E6 ~0 z2 F4 y; e) mI4 = immultiply(I,0.6);
% C7 n# K8 J1 L( u+ R3 l1 S6 b- l3 T5 Csubplot(2,2,1);imshow(I);title('原始图像');
) _( @4 B5 N/ H# Qsubplot(2,2,2);imshow(I2,[]);title('图像自乘');
) o9 \7 f( z! _( K4 x2 `subplot(2,2,3);imshow(I3,[]);title('图像扩大像素');
+ X4 z2 j4 p. a9 s3 n: O* nsubplot(2,2,4);imshow(I4);title('图像缩小像素');
i. y/ h9 P D$ R; Z1 a: N. C5 Y, V: h4 Q, C3 [
( R) Z8 b# Y% z% r% o5 q5 y- X* F5 y
& r: [0 f! Y8 I$ } G; U通过上图可以看出来,图像扩大像素,使得整幅图像变得明亮,但是对比度并没有提高,缩小像素使得变暗。' U; X/ @# q/ J9 w
. p; t& ^% b3 e5 }: U. c
而图像自乘的意义是什么?1 v" E c6 | C$ u, Z8 J
% O' `' a) h9 d9 r8 ] N5 t我们可以猜测,假如一个点A的像素值为6,相邻点B的像素值为9,它们相差3,因此视觉上对比度有3。当图像自乘之后,A点像素值为36,B点像素值为81,他们相差55,- N* H% R p$ T) _# K/ _" t
3 n1 p8 U- B! }9 C3 s! t' w
因此对比度更加的强烈。为了能够显示出来像素值超过255的,我们使用了imread('',[])。并且结合上面的图像,可以得出结论,图像自乘,可以提高对比度。
3 Z1 w5 i& I2 N2 v( y$ Y: O; K# l! H3 |) C1 M" k& m( f
( K- N! ]5 T& w( E
+ D1 k) H) j4 T& ?结合变量的工作空间,我们也可以看到,自乘之前图像的灰度值为40-255,自乘之后变为了1600-41416,这大大拉大了亮暗图像点之间的差距,即提高了对比度。9 e6 H6 G2 w! T* K: ~, _
% B4 }* ^7 N/ K. D$ [9 Z/ r/ b |
|