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


C++ af::regions方法代码示例

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


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

示例1: in

TEST(Regions, Docs_4)
{
    // input data
    uchar input[64] =  {
        0, 0, 0, 0, 1, 0, 0, 0,
        0, 0, 1, 0, 1, 0, 0, 1,
        0, 0, 0, 1, 0, 0, 0, 0,
        0, 0, 1, 0, 0, 1, 0, 0,
        1, 0, 0, 1, 0, 0, 1, 0,
        0, 0, 0, 1, 1, 0, 0, 1,
        1, 1, 0, 0, 0, 0, 0, 0,
        0, 1, 0, 1, 1, 1, 1, 0
    };
    // gold output
    float gold[64] =  {
        0.0000,  0.0000,  0.0000,  0.0000,  1.0000,  0.0000,  0.0000,  0.0000,
        0.0000,  0.0000,  2.0000,  0.0000,  1.0000,  0.0000,  0.0000,  3.0000,
        0.0000,  0.0000,  0.0000,  4.0000,  0.0000,  0.0000,  0.0000,  0.0000,
        0.0000,  0.0000,  5.0000,  0.0000,  0.0000,  6.0000,  0.0000,  0.0000,
        7.0000,  0.0000,  0.0000,  8.0000,  0.0000,  0.0000,  9.0000,  0.0000,
        0.0000,  0.0000,  0.0000,  8.0000,  8.0000,  0.0000,  0.0000, 10.0000,
        11.000, 11.0000,  0.0000,  0.0000,  0.0000,  0.0000,  0.0000,  0.0000,
        0.0000, 11.0000,  0.0000, 12.0000, 12.0000, 12.0000, 12.0000,  0.0000
    };


    //![ex_image_regions_4conn]
    array in(8, 8, input);
    //af_print(in.T());
    //in
    //0  0  0  0  1  0  1  0
    //0  0  0  0  0  0  1  1
    //0  1  0  1  0  0  0  0
    //0  0  1  0  1  1  0  1
    //1  1  0  0  0  1  0  1
    //0  0  0  1  0  0  0  1
    //0  0  0  0  1  0  0  1
    //0  1  0  0  0  1  0  0
    // Compute the label matrix using 4-way connectivity
    array out = regions(in.as(b8), AF_CONNECTIVITY_4);
    //af_print(out.T());
    //out
    //0  0  0  0  7  0 11  0
    //0  0  0  0  0  0 11 11
    //0  2  0  5  0  0  0  0
    //0  0  4  0  8  8  0 12
    //1  1  0  0  0  8  0 12
    //0  0  0  6  0  0  0 12
    //0  0  0  0  9  0  0 12
    //0  3  0  0  0 10  0  0
    //![ex_image_regions_4conn]


    float output[64];
    out.host((void*)output);

    for (int i=0; i<64; ++i) {
        ASSERT_EQ(gold[i], output[i])<<" mismatch at i="<<i<<endl;
    }
}
开发者ID:AshwinRajendraprasad,项目名称:arrayfire,代码行数:60,代码来源:regions.cpp

示例2: input

///////////////////////////////////// CPP ////////////////////////////////
//
TEST(Regions, CPP)
{
    if (noDoubleTests<float>()) return;

    vector<dim4> numDims;
    vector<vector<float> > in;
    vector<vector<float> > tests;
    readTests<float, float, unsigned>(string(TEST_DIR"/regions/regions_8x8_4.test"),numDims,in,tests);

    dim4 idims = numDims[0];
    array input(idims, (float*)&(in[0].front()));
    array output = regions(input.as(b8));

    // Get result
    float* outData = new float[idims.elements()];
    output.host((void*)outData);

    // Compare result
    for (size_t testIter = 0; testIter < tests.size(); ++testIter) {
        vector<float> currGoldBar = tests[testIter];
        size_t nElems = currGoldBar.size();
        for (size_t elIter = 0; elIter < nElems; ++elIter) {
            ASSERT_EQ(currGoldBar[elIter], outData[elIter]) << "at: " << elIter << endl;
        }
    }

    // Delete
    delete[] outData;
}
开发者ID:AshwinRajendraprasad,项目名称:arrayfire,代码行数:31,代码来源:regions.cpp


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