首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Openframeworks颜色跟踪

Openframeworks颜色跟踪
EN

Stack Overflow用户
提问于 2013-07-03 20:00:27
回答 1查看 1.2K关注 0票数 0

我正在使用Openframeworks中的OpenCV来跟踪特定的颜色。如果你不熟悉颜色跟踪代码,我的问题可能会很困难,但我会尽量解释清楚。

代码现在做的是用红色的圆圈跟随某种颜色,我正在努力创建一条基本上做同样事情的线,但每个点都将被存储,以便创建一个曲折类型的绘图应用程序。现在,这是一条你可以拉的直线。

如果有必要,我会发布更多的代码。任何建议都会很有帮助。谢谢!

tespApp.cpp

代码语言:javascript
复制
void testApp::draw(){

ofSetColor(255,255,255);
//draw coloured cv image
rgb.draw(0,0);
contours.draw(0,480);

// draw line that follows the blobs

    for (int i=0; i<contours.nBlobs; i++) {
        ofSetColor(0);
       ofLine( contours.blobs[i].pos.x, contours.blobs[i].pos.y, contours.blobs[i].lastpos.x, contours.blobs[i].lastpos.y );

   }


}

ofxCvContourFinder.cpp


for( int i = 0; i < MIN(nConsidered, (int)cvSeqBlobs.size()); i++ ) {
    blobs.push_back( ofxCvBlob() );
    float area = cvContourArea( cvSeqBlobs[i], CV_WHOLE_SEQ, bFindHoles ); // oriented=true for holes
    CvRect rect = cvBoundingRect( cvSeqBlobs[i], 0 );
    cvMoments( cvSeqBlobs[i], myMoments );

    blobs[i].area                     = bFindHoles ? fabs(area) : area; // only return positive areas
    blobs[i].length                   = cvArcLength(cvSeqBlobs[i]);
    blobs[i].boundingRect.x           = rect.x;
    blobs[i].boundingRect.y           = rect.y;
    blobs[i].boundingRect.width       = rect.width;
    blobs[i].boundingRect.height      = rect.height;
    blobs[i].centroid.x               = (myMoments->m10 / myMoments->m00);
    blobs[i].centroid.y               = (myMoments->m01 / myMoments->m00);
             blobs[i].pos.x                    =0;
             blobs[i].pos.y                    =0;
             blobs[i].lastpos.x                = blobs[i].pos.x;
             blobs[i].lastpos.y                = blobs[i].pos.y;
             blobs[i].pos.x                    =(myMoments->m10 / myMoments->m00);
             blobs[i].pos.y                    = (myMoments ->m01 / myMoments->m00);
EN

回答 1

Stack Overflow用户

发布于 2014-03-21 21:23:40

在这里可以找到您正在尝试实现的完整示例:

https://github.com/kylemcdonald/ofxCv/tree/master/example-contours-color

它使用了ofxCv,一个可以让你以一种干净的方式集成openframeworks和openCv的附加组件。此外,您可以使用本机OpenCV调用,而不需要任何类型的包装器。互联网上充斥着使用纯OpenCV代码的类似示例,有了这个插件,你就可以按原样使用这些代码片段,没有任何问题,它提供了一些从OpenCV数据结构到Openframeworks数据结构的简单方法,反之亦然。太棒了!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17447399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档