社区
数据结构与算法
帖子详情
颜色匹配算法求解!!!(急)
yb_yb
2002-04-08 06:43:47
我这里有一个标准的256色颜色表,我想给出一个任意的RGB结构的数据,怎样求出与之匹配的索引?
方法有:1近似法
2抖动法
...全文
210
7
打赏
收藏
颜色匹配算法求解!!!(急)
我这里有一个标准的256色颜色表,我想给出一个任意的RGB结构的数据,怎样求出与之匹配的索引? 方法有:1近似法 2抖动法
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
IT_worker
2002-04-12
打赏
举报
回复
不知道你是否看懂了我的思路。
可能你没有看懂,我这里介绍一下我的思路的背景吧。
在做GIS系统的时候,一个比较重要的功能就是空间查询。说得明白一点:
假设系统中有n个对象(n非常大)每个对象都看成一个矩形。假如在平面上选取一个点要求快速查找出所有包含这个点的矩形(算法复杂度为O(log(n))。
要实现快速查找的功能就必须建立空间索引。各个GIS生产商都有它们的R树索引。这里最简单(可能也是最烂)的索引就是4叉树索引。
你的颜色匹配要求就是3维的点索引。而我的索引设计就是在4叉树索引的基础上改进出来的。因为你的数据太少了(才256)索引效果可能不明显,但是精心安排索引还是可以保证的是比简单的 遍历一遍所有数据 要快8倍
yb_yb
2002-04-10
打赏
举报
回复
这是我用的颜色表,它是先是16色,再灰度级,再是一般的颜色定义。怎么样才能找到一种好的方法实现颜色匹配。
U8 ColorTable[256][3]=
{
{ 0, 0, 0},{ 0, 0,168},{ 0,168, 0},{ 0,168,168},
{168, 0, 0},{168, 0,168},{168, 84, 0},{168,168,168},
{ 84, 84, 84},{ 84, 84,255},{ 84,255, 84},{ 84,255,255},
{255, 84, 84},{255, 84,255},{255,255, 84},{255,255,255},
{ 12, 12, 12},{ 25, 25, 25},{ 38, 38, 38},{ 52, 52, 52},
{ 66, 66, 66},{ 97, 97, 97},{114,114,114},{128,128,128},
{150,150,150},{192,192,192},{210,210,210},{232,232,232},
{ 0, 0, 77},{ 0, 0,255},{ 0, 19, 0},{ 0, 19, 77},
{ 0, 19,162},{ 0, 19,255},{ 0, 39, 0},{ 0, 39, 77},
{ 0, 39,162},{ 0, 39,255},{ 0, 62, 0},{ 0, 62, 77},
{ 0, 62,162},{ 0, 62,255},{ 0, 87, 0},{ 0, 87, 77},
{ 0, 87,162},{ 0, 87,255},{ 0,115, 0},{ 0,115, 77},
{ 0,115,162},{ 0,115,255},{ 0,145, 0},{ 0,145, 77},
{ 0,145,162},{ 0,145,255},{ 0,178, 0},{ 0,178, 77},
{ 0,178,255},{ 0,215, 0},{ 0,215, 77},{ 0,215,162},
{ 0,215,255},{ 0,255, 0},{ 0,255, 77},{ 0,255,162},
{ 0,255,255},
{ 42, 0, 0},{ 42, 0, 77},{ 42, 0,162},
{ 42, 0,255},{ 42, 19, 0},{ 42, 19, 77},{ 42, 19,162},
{ 42, 19,255},{ 42, 39, 77},{ 42, 39,162},{ 42, 39,255},
{ 42, 62, 0},{ 42, 62, 77},{ 42, 62,162},{ 42, 62,255},
{ 42, 87, 0},{ 42, 87, 77},{ 42, 87,162},{ 42, 87,255},
{ 42,115, 0},{ 42,115, 77},{ 42,115,162},{ 42,115,255},
{ 42,145, 0},{ 42,145, 77},{ 42,145,162},{ 42,145,255},
{ 42,178, 0},{ 42,178, 77},{ 42,178,162},{ 42,178,255},
{ 42,215, 0},{ 42,215, 77},{ 42,215,162},{ 42,215,255},
{ 42,255, 0},{ 42,255, 77},{ 42,255,162},{ 42,255,255},
{ 88, 0, 0},{ 88, 0, 77},{ 88, 0,162},{ 88, 0,255},
{ 88, 19, 0},{ 88, 19, 77},{ 88, 19,162},{ 88, 19,255},
{ 88, 39, 0},{ 88, 39, 77},{ 88, 39,162},{ 88, 39,255},
{ 88, 62, 0},{ 88, 62, 77},{ 88, 62,162},{ 88, 62,255},
{ 88, 87, 0},{ 88, 87,162},{ 88,115, 0},{ 88,115, 77},
{ 88,115,162},{ 88,115,255},{ 88,145, 0},{ 88,145, 77},
{ 88,145,162},{ 88,145,255},{ 88,178, 0},{ 88,178, 77},
{ 88,178,162},{ 88,178,255},{ 88,215, 0},{ 88,215, 77},
{ 88,215,162},{ 88,215,255},{ 88,255, 0},{ 88,255,162},
{138, 0, 0},{138, 0, 77},{138, 0,162},{138, 0,255},
{138, 19, 0},{138, 19, 77},{138, 19,162},{138, 19,255},
{138, 39, 0},{138, 39, 77},{138, 39,162},{138, 39,255},
{138, 62, 0},{138, 62, 77},{138, 62,162},{138, 62,255},
{138, 87, 0},{138, 87, 77},{138, 87,162},{138, 87,255},
{138,115, 0},{138,115, 77},{138,115,162},{138,115,255},
{138,145, 0},{138,145, 77},{138,145,162},{138,145,255},
{138,178, 0},{138,178, 77},{138,178,162},{138,178,255},
{138,215, 0},{138,215, 77},{138,215,162},{138,215,255},
{138,255, 0},{138,255, 77},{138,255,162},{138,255,255},
{194, 0, 0},{194, 0, 77},{194, 0,162},{194, 0,255},
{194, 19, 0},{194, 19, 77},{194, 19,162},{194, 19,255},
{194, 39, 0},{194, 39, 77},{194, 39,162},{194, 39,255},
{194, 62, 0},{194, 62, 77},{194, 62,162},{194, 62,255},
{194, 87, 0},{194, 87, 77},{194, 87,162},{194, 87,255},
{194,115, 0},{194,115, 77},{194,115,162},{194,115,255},
{194,145, 0},{194,145, 77},{194,145,162},{194,145,255},
{194,178, 0},{194,178, 77},{194,178,162},{194,178,255},
{194,215, 0},{194,215, 77},{194,215,162},{194,215,255},
{194,255, 0},{194,255, 77},{194,255,162},{194,255,255},
{255, 0, 0},{255, 0, 77},{255, 0,162},{255, 0,255},
{255, 19, 0},{255, 19, 77},{255, 19,162},{255, 19,255},
{255, 39, 0},{255, 39, 77},{255, 39,162},{255, 39,255},
{255, 62, 0},{255, 62, 77},{255, 62,162},{255, 62,255},
{255, 87, 0},{255, 87,162},{255,115, 0},{255,115, 77},
{255,115,162},{255,115,255},{255,145, 0},{255,145, 77},
{255,145,162},{255,145,255},{255,178, 0},{255,178, 77},
{255,178,162},{255,178,255},{255,215, 0},{255,215, 77},
{255,215,162},{255,215,255},{255,255, 0},{255,255,162},
};
IT_worker
2002-04-10
打赏
举报
回复
我想你可以给你的256标准色做一个索引。我设计一个索引如下,不知道能否用得着。
为了讨论方便假设RGB的取值范围都为[0,1];
那么将标准色中所有R<2/3的颜色放入子索引a中,所有R>1/3的颜色放入子索引b中。注意a,b中可能有颜色相同。
假如现在有一种颜色rgb其中r<1/2那么我们到a中找到与它最近的颜色。如果最近颜色与他的距离<2/3-r那么我们可以断定b中不会找到距离更近的颜色了。如果不幸找到的最近距离>2/3-r那么只好到b中找距离最近的颜色了,二者取其小的。
说明:我的距离定义为:max( |r1-r2|,|g1-g2|,|b1-b2| )
我前面说的在a中找最近颜色是指过一遍所有a中的颜色。如果a中的颜色还是太多,那么就要将a继续分成2块,不过这次不能在R这维分了。
总之通过分块的方法缩小过一遍颜色的个数。
为什么:
为什么我按[0,2/3],[1/3,1]这种方式而不是[0,1/2],[1/2,1]这种方式分块呢?应为我考虑当x接近于1/2的时候第二种分块方式在很大概率上要去查找两个块,这就损失了索引的意义。
yb_yb
2002-04-09
打赏
举报
回复
cplusc(5i海洋)你的这种算法我也想到了,但是每次执行时运算量太大,知道我是用单片机中的,要是经常对颜色操作,效率不高。还有就是不能找到每种颜色的渐变色。谢谢你给的帮助。我会给分的。
不知道那们还有更好一点的办法,最好能用抖动算法。那样就没有主颜色差之说了。
cplusc
2002-04-08
打赏
举报
回复
我也不知道这是什么算法, 效果还可以, 时间太紧,没加注视
typedef struct RGBTag
{
int R,G,B
};
RGBTag Pal[256];
int FindNearest( int R,G,B)
{
int D=999999, P, Best;
int i;
for (i = 0; i < 255; i++)
{
P = ( R-Pal[i].R) *( R-Pal[i].R) + ( G-Pal[i].G) *( G-Pal[i].G) + ( B-Pal[i].B) *( B-Pal[i].B)
if ( P < D )
{
D = P;
Best = i;
}
}
return(Best);
}
youwill
2002-04-08
打赏
举报
回复
256色, not many colors, 给出与之匹配Table , scan table every time.
挺拔的劲松
2002-04-08
打赏
举报
回复
gz
Java40道最经典
算法
- **栈**:后进先出(LIFO),常用于表达式
求解
、括号
匹配
等。 - **队列**:先进先出(FIFO),如任务调度、多进程通信。 - **链表**:非连续存储,支持高效插入和删除。 - **树**:分层存储,如二叉树、平衡树...
程序员编程艺术系列之经典
算法
研究 电子书【高清中文带书签】
SIFT(尺度不变特征变换)
算法
是一种用于图像处理中的特征检测和
匹配
的方法,由David Lowe于1999年提出。 **详细知识点:** - **关键步骤:** - 构建尺度空间:通过对输入图像进行多尺度模糊处理,构建不同尺度的...
MATLAB车牌识别代码 完整源码 下载
它提供了丰富的内置函数和工具箱,支持矩阵运算、图像处理、机器学习等任务,使得复杂问题的
求解
变得简单。 二、车牌识别系统概述 车牌识别系统通常由图像采集、预处理、车牌定位、字符分割和字符识别五个步骤组成...
双目立体
匹配
算法
:SGM
有大量的
算法
用于
求解
立体
匹配
问题,根据Scharstein和 Szeliski的研究,所有这些
算法
的计算流程基本上都可以分为四个步骤:A.
匹配
代价计算;B.代价聚合;C.视差计算/优化;D.视差细化。其中
匹配
代价用来度量像素或者...
立体
匹配
算法
概述
立体
匹配
算法
一、立体
匹配
算法
的分类 在立体
匹配
中,
匹配
问题可以看成是寻找两组数据相关程度的过程。立体
匹配
算法
由多种分类。 ①根据
算法
运行时约束的作用范围:分为局部(local)
匹配
算法
和全局(Global)
匹配
...
数据结构与算法
33,027
社区成员
35,335
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章