快速查表法 FLUT
来源:互联网 发布:java 获取spring容器 编辑:程序博客网 时间:2024/04/28 05:50
对快速查表算法的理解 :来源《机器视觉自动检测技术》
表FLUT是一个3X256字节的二位矩阵,FLIT[0][256],FLIT[1][256],FLIT[2][256]分别表示R,G,B的索引序号。每个位表示一种颜色,最多可以表示八种颜色,如需表示更多颜色则可以定义更多位。如:FLUT[0][120]=10001011,表示对于R的值为120时,可能的颜色为第7、3、1、0种。
FLUT表的建立。
首先应该建立每种颜色的的RGB范围,以红色为例,假设其RGB范围为Rmax,Rmin,Gmax,Gmin,Bmax,Bmin。且假设字节的第一位表示红色。则对于红色,FLUT的迭代过程为:
for(int i=0;i<256;i++){ if((i<RED.Rmax)&&(i>RED.Rmin)) FLUT[0][i]=FLUT[0][i]|0x1; //表示把第一位置1 if((i<RED.Gmax)&&(i>RED.Gmin)) FLUT[1][i]=FLUT[1][i]|0x1; if((i<RED.Bmax)&&(i>RED.Bmin)) FLUT[2][i]=FLUT[2][i]|0x1;}
对其它颜色也进行同样的迭代,则完成FLUT表的建立。
FLUT表检验:
for(int i=0;i<256;i++){ for(int j=0;j<256;j++) { for(int k=0;k<256;k++) { d=FLUT[0][i]&FLUT[1][j]&FLUT[2][k]; if(!(d==0x1||d==0x2||d==0x4||d==0x8||d==0x10||d==0x20||d==0x40||d==0x80)) //则该RGB同时可以表示两种颜色,区域重叠,错误。 } }}颜色查找方法:输入RGB值(R,G,B):则颜色为FLUT[0][R]&FLUT[1][G]&FLUT[2][B],其结果第几位为1,则是第几种颜色。
0 0
- 快速查表法 FLUT
- 快速
- 快速傅里叶变换-快速傅里叶变换
- 快速排序 快速搞定
- 快速排序 快速搞定
- 快速矩阵快速幂
- 快速幂,快速幂取模
- 快速幂 + 快速幂取模
- 快速排序 快速搞定
- 快速排序 快速搞定
- 快速快速双线性插值
- 快速排序 快速搞定
- 快速幂 快速幂取模
- 快速排序 快速搞定
- 快速幂&&快速乘法
- 快速枚举 快速遍历
- 快速幂&快速乘
- 快速幂 快速乘法
- 多媒体编程——编译x264 for ios armv7
- PHP Fatal error: Call to undefined function mysql_connect()解决方案
- 使用JFreeChart生成饼图
- drupal form 中图片上传
- 自我实现型的人的五个特质
- 快速查表法 FLUT
- 从汇编的角度看段错误
- NSAttributedString 学习
- 做好发散测试,提高测试效率(转)
- 经纬财富:云浮现货白银趋势研判
- ios 本地数据库搭建方案
- 解析ISO8583报文实例
- UML工具
- Android 自定义 ViewPager 打造千变万化的图片切换效果