详解Color Table
一、什么是color table
一、什么是color table
A color table is a mapping from imagecolors to color classes.
一幅图像可以由
256*256*256
种颜色构成,即每
8
位色阶数据构成一个色彩频道
(
color channel
),有
3
个频道,这三个频道的色阶叠合在一起,图像就会以
24bit
真彩色显示,由于
256*256*256=16MB
,这个存储空间相当大,于是就只使用高
6
位来表示每个色彩频道,这样,
color table
这个三维数组的大小就会成为
64*64*64=262144B.
但是仍能够准确的反应颜色信息。
二、simrobot console command解析
比较常用的几个:
1、ctundo 这个是很常用的,可以撤销上一次的错误,最多10次。
2、cton|off这个选择可以开始或关闭创建色表,注意在进行标定时候一定要记得先ctoff一下,以免在图像上点点时,改变了color table。
3、ctsave file保存当前你所创建的色表,不然白费了半天功夫。
4、ctsendAndWrite 通过它可以把当前的色表发给机器人,或者直接copyfile也行。
5、ctimageRadius 这个就是在你点一个点,在color table里出现的cube的大小,最大应该是32,这时候就会把整个colortable填满了。一般不要改这个。
6、cttraining on开始使用最近邻法构建k-d tree(这里是3-d tree),这时候点击就是产生training data。
7、ctkd neighbours|range 这个是设定k-d tree的邻居和范围.If the range issmall,colors nearby the training data are classied,if it is big,it may resultin huge blobs.Big neighbouring will result small cluseters.具体效果参见page53,上面的那副图。
8、ctclear清除当前的color table。
9、ctgrow|shrink 如果发现某种颜色与另一种在图像上一些blur,就让多的那种shrink下,如果发现color table中某种颜色过于稀薄,可以让它grow一下。
三、simrobot快捷操作
1、鼠标左键,通过这种方式点点或者按住鼠标不放选一块小区域,一般是结合trainingdata建立color table的方法。
2、按住shift键的同时按左键,这种一般就是纯手工建立color table,点一个点加一个class,选一块区域,就加一整快区域的。
3、按住ctrl键同时按左键,撤销上一步操作。
4、Shift加ctrl加左键,删除某一个或某一快颜色。
5、滚动滑轮,放大缩小image。
四、选择采用的色表
cameraCalibration.cfg文件中,最后一行的colorTemperature决定所使用的色表,其中default为 coltable.c64,sim为 coltableSim.c64,new为coltableNew.c64,old为coltableOld.c64.
五、配置模拟器中的光线
In the directoryConfig/Scenes/,first open one *.ros2 file,you can find the linestart with <light...,now you can change the content to reallize the lightcondition you want according to the B-Human 11 Report,at page 184.Forexample,constantAttenuation means the constant value for Attenuation which willmake the light decreased with the distance.
六、创建一个color table的基本步骤
1、纯手工创建
ct on
---> ct <color>
然后再按住shift
键同时点击图像上相应的点或区域(区域比较好用)
--->
当点了足够多的点感觉segmentedimage
不错了的时候,ct save <file>
--->
使用copyfiles
工具将其上传到机器人(此种方法较慢,但是效果较好)
2
、通过近邻法建立
k-d tree
来自动创建
color table
ct training on
--->
点击图像上的对应颜色的点,不需要太多
---> ct kd neighbours <number>
àct kd range <number>
设定下neighbour
与range(3
、20
效果还不错)
---> ct reclassify
生成colortable
---> ct save <file>
--->
使用copyfiles
工具将其上传到机器人(此种方法速度快,不需点太多的点,但经常需要调整)
生成的color table
如果效果不理想可以根据实际再进行调整。
详情咨询happylyang同学:http://www.happylyang.com