图形对象的属性
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
重要的属性包括CData,CDataMapping属性、XData属性和YData属性等。
(1)图形对象的CData属性
图形对象的CData属性包含一个数据阵列。在下面的代码中,h表示有image函数创建的图像对象的句柄::X和Y代表同一矩阵。
h=image(X);
colonmap(map);
Y=get(h,’CData’);
其中,属性CData数据阵列的维数决定了Matlab时使用颜色映像表还是使用RGB真彩的方式显示该图。如果CData属性的数据阵列是二维的,则图像显示为索引图像或灰度图像。不管哪一种方式,Matlab均使用颜色映像表。如果CData属性的数据阵列是三维的,例如m*n*3,那么matlab即将其显示为真彩图像。
(2)图形对象的CDataMapping属性
图形对象的CDataMapping属性决定图像是索引图像还是灰度图像,如果将该属性设置为direct,则该图像对象显示为索引图像。在这种情况下,CData属性中的数据阵列直接作为当前图形窗口的颜色影响表中的颜色索引,在matlab中,只要我们在调用image 函数时只使用一个参数,则系统自动将CDatamapping属性市值为direct。例如,我们在命令行中输入下列代码:
h=image(X);
colonmap(map);
Y=get(h,’CDataMapping’);
回车执行结果为
Ans=
direct
如果将该属性设置为scaled,则该图像对象显示为灰度图像。在这种情况下,CData属性中的数据线性缩放生成颜色映像表索引其中缩放因子纵坐标轴对象的Clim属性决定在matlab中,只要利用imagesce函数创建图像系统自动将CDatamapping属性市值为scaled,并且同时调整其父坐标轴对象的clim属性,例如,我们在命令行中输入下列代码:
h=image(X);
colonmap(map);
Y=get(h,’CDataMapping’);
回车执行结果为
Ans=
scaled
输入下列代码:
get(gea,’Clim’)
回车执行结果为
Ans=
[0 1]
(2)像对象的XData和YData属性
图像对象的XData和YData属性决定了图像的坐标系统。对于一个数据矩阵为mn的图像对象来说,其XData属性的默认值[1 n],YData属性的默认值是【1 m】,这样的设置意义为:
图像数据矩阵的左边的列具有一个值为1的X坐标
图像数据矩阵的左边的列具有一个值为n的X坐标
图像数据矩阵的左边的列具有一个值为1的Y坐标
图像数据矩阵的左边的列具有一个值为m的Y坐标
例如,下面的代码
X=[1 2 3 4;5 6 7 8;9 10 11 12];
h=image(X);
colormap(colorcube(12))
xlabel x;
ylable y;
生成如图
这样生成的图像对象的XData和YData属性具有默认的值,例如,我们在命令行中输入下面代码
get(h,’XData’)
回车执行结果为
Ans=
1 4
get(h,’YData’)
回车执行结果为
Ans=
1 3
另外,还可以定义用户自己的坐标系来覆盖系统的默认的设置,例如,下面代码
X=[1 2 3 4;5 6 7 8;9 10 11 12];
image(X,'XData',[-1 2],'YData',[2 4]);
colormap(colorcube(12))
xlabel x;
ylable y;
定义一个新的坐标系,其结果
7、图像类型转换
(1)图像颜色浓淡处理(图像抖动)
格式
X=dither(RGB,MAP)
X=dither(RGB,MAP,Qm,Qe)
BW=dither(1)
X=dither(RGB,MAP)中,dither函数通过抖动颜色图MAP中的颜色,可以产生输入矩阵RGB所表示RGB图像的近似索引图像X
X=dither(RGB,MAP,Qm,Qe)中dither函数可由RGB图像产生一个索引图像。参数Qm 表示沿每个颜色轴反转颜色图的量化位数;Qe表示颜色空间计算误差的量化位数。如果Qe BW=dither(1),dither函数通过抖动将矩阵1中的灰度图像转换为二进制图像。 输入图像(RGB或1)可以是双精度类型或unit8类型,其他参数必须是双精度类型。当输出图像少于256色时,为unit8类型,否则为双精度类型。 下面用已有的颜色图,由RGB图像产生一个索引图像。 使用索引图像chess.mat的颜色图map,通过抖动map中的颜色,产生RGB图像autumn.tif 的近似索引图。程序清单如下: load chess; RGB=imread('autumn.tif'); figure(1); imshow(RGB); figure(2); Y=dither(RGB,map); imshow(Y,map);