关于取得RGB值的并转化为10进制的函数写法!求指导!
关于获得RGB值的并转化为10进制的函数写法!求指导!!
遍历一张图片,获得每一个点的RGB值,然后就可以用十进制R*0+G*256+B*256*256来获得一个十进制的数值,通过设定一个大致的范围就可以粗略的区分颜色。
获得RGB值 for(int i=0;i<src_tmp1->height;i++)
for(int j=0;j<src_tmp1->width;j++)
{
CvScalar s;
s=cvGet2D(src_tmp1,i,j);
}
然后我应该怎么做?数值都在S里面了,然后我不知道应该怎么做了
------解决方案--------------------
不太明白你问了,你是不是已把RGB的值转换成十进制了,但不知道如何大概区分颜色,要是这样,你得知道每种颜色对应的十进制(不知道也行,对于纯颜色可以直接算出来保存起来),然后设个枚举类型来代表不同的颜色,根据不同的颜色值的十进制来选择枚举里的值(只是个粗略估计),比如:0~10对应枚举类型的第一个值,10~20对应枚举类型的第二个值等。
遍历一张图片,获得每一个点的RGB值,然后就可以用十进制R*0+G*256+B*256*256来获得一个十进制的数值,通过设定一个大致的范围就可以粗略的区分颜色。
获得RGB值 for(int i=0;i<src_tmp1->height;i++)
for(int j=0;j<src_tmp1->width;j++)
{
CvScalar s;
s=cvGet2D(src_tmp1,i,j);
}
然后我应该怎么做?数值都在S里面了,然后我不知道应该怎么做了
------解决方案--------------------
不太明白你问了,你是不是已把RGB的值转换成十进制了,但不知道如何大概区分颜色,要是这样,你得知道每种颜色对应的十进制(不知道也行,对于纯颜色可以直接算出来保存起来),然后设个枚举类型来代表不同的颜色,根据不同的颜色值的十进制来选择枚举里的值(只是个粗略估计),比如:0~10对应枚举类型的第一个值,10~20对应枚举类型的第二个值等。