当前位置: 首页>>代码示例>>C++>>正文


C++ CBlob::add_point方法代码示例

本文整理汇总了C++中CBlob::add_point方法的典型用法代码示例。如果您正苦于以下问题:C++ CBlob::add_point方法的具体用法?C++ CBlob::add_point怎么用?C++ CBlob::add_point使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CBlob的用法示例。


在下文中一共展示了CBlob::add_point方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: generate_blob

CBlob* generate_blob(Image& input, int x, int y, bool *evaluation_map){
    std::vector<Vector2i> to_eval;
    CBlob* blob = new CBlob;
    Vector2i tmp_vect;

    blob->add_point(x, y); 
    evaluation_map[x +y*input.width] = true;
    
    for(int i = y - 1; i < y + 2; ++i){
        for(int j = x - 1; j < x + 2; ++j){
            if( i < input.height && j  < input.width && input.buffer[j + i*input.width] > gc_th ){
                tmp_vect.set(j, i);
                to_eval.push_back( tmp_vect ); 
            }
        }
    }

    while(!to_eval.empty()){
        Vector2i v = to_eval.back();
        blob->add_point(v.x, v.y);
        to_eval.pop_back();

        for( int i = v.y-1; i < v.y + 2; ++i){
            for(int j = v.x-1; j < v.x + 2; ++j){
                if( 	j >= 0 && i >= 0 
                    && j < input.width 
                    && i < input.height 
                    && input.buffer[j + i*input.width] > gc_th
                    && evaluation_map[j + i*input.width] == false
                  ){
                    evaluation_map[j+i*input.width] = true;
                    tmp_vect.set(j, i);
                    to_eval.push_back( tmp_vect );
                }
            } 
        }
    }
    return blob;

}
开发者ID:Cabba,项目名称:ComputerVision_ImageProcessing,代码行数:40,代码来源:labelling.cpp


注:本文中的CBlob::add_point方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。