先看下面程序:
clear
clc
cd('C:\Documents and Settings\Administrator\桌面');
I = imread('pig.jpg');
B = I(:, :, 3);
a = 200
b = 220
c = B(100, 100)
d1 = abs(a - c)
d2 = abs(c - b)
结果为:
a =
200
b =
220
c =
208
d1 =
0
d2 =
0
为什么d1, d2都为0呢? 因为c是uint8类型的,所以一定要注意这一点,在matlab中用whos命令查阅一下c, 便有:
Name Size Bytes Class Attributes
c 1x1 1 uint8
所以,上面的程序应该改为:
clear
clc
cd('C:\Documents and Settings\Administrator\桌面');
I = imread('pig.jpg');
B = I(:, :, 3);
a = 200
b = 220
c = B(100, 100)
d1 = abs(a - double(c))
d2 = abs(double(c) - b)
结果为:
a =
200
b =
220
c =
208
d1 =
8
d2 =
12