首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 平面设计 > 图形图像 >

怎么用opencv取得一个小区域的颜色(比如红绿灯)

2012-02-22 
如何用opencv取得一个小区域的颜色(比如红绿灯)一张图片,远处有个红绿灯。假设图片的红绿灯位置固定(已知)

如何用opencv取得一个小区域的颜色(比如红绿灯)
一张图片,远处有个红绿灯。假设图片的红绿灯位置固定(已知)
我用opencv把这个红绿灯的状态即颜色给判断出来

步骤是不是先对这个红绿灯区域设置感兴趣区域,然后识别感兴趣区域里的颜色??
如果是的话

请哪位写个源码出来,判断识别颜色的代码就行。



[解决办法]
这个我也在搞,但是还没进展

C/C++ code
          判断红色图片        IplImage*   pImg_test = cvLoadImage("red7.jpg",1);;        int r, g, b;        int intRedCount = 0;        int intS = 0;        for(int x = 0; x < pImg_test->width; x++)        {            for(int y = 0; y < pImg_test->height; y++)             {                r = CV_IMAGE_ELEM(pImg_test, uchar, y, x * 3 + 2);                g = CV_IMAGE_ELEM(pImg_test, uchar, y, x * 3 + 1);                b = CV_IMAGE_ELEM(pImg_test, uchar, y, x * 3);                if ((r >= 210) && (130 > g ) && (g > 110) && (150 > b ) && (b > 130))                 {                    intRedCount++;                }            }        }        if (intRedCount >= 5)        {            AfxMessageBox("r==255,现在是红色信号灯\n");                                            } 

热点排行