我已经买了一个颜色传感器,能够获取到R、G、B的值(大小均为0~255),但是我不知道怎么处理。因为我样品都是紫红色的,只是颜色深浅的问题,然后我想通过这个颜色深浅得知我的样品深度(已知它们关系为y=2x+1,其中x是指颜色强度,y是指样品深度)。求大家指教如何将RGB的值通过C语言的方式转换成颜色强度(即y=2x+1中的x),最好的代码,谢谢啦!
可能我没有说清楚,我的意思是我已经获得了RGB值如(R=45,G=56,B=122),我应该如何利用这三个值,因为三个值无法带入我的公式进行计算,所以想请教大家如何将RGB的值(三个)换成颜色强度(一个值)进行计算,是进行灰度转换吗,还是其它方式处理?
参考知识1
# include <stdio.h>
//计算样品深度
int sampleDepth(int x)
return (x-1)/2;
int main()
int i=0;
printf("获取到的样品深度是:");
scanf("%d",&i);
printf("颜色强度%d\r\n",sampleDepth(i));
return 0;
参考知识B
下面的资料可看一下
C语言实现数字信号处理算法
http://wenku.baidu.com/view/eb6e24c52cc58bd63186bd02.html
数字信号处理C语言程序集》
scilab,octave是C语言实现的开源的类matlab软件,里面有许多c语言实现的数字信号处理的算法,可以研究一下。