⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 apixelaccessi.hc

📁 微软的基于HMM的人脸识别原代码, 非常经典的说
💻 HC
📖 第 1 页 / 共 2 页
字号:
    /* Check for CV_MOVE_RU_WRAP */
    CHECK( CV_MOVE_RU_WRAP( pos, PLANS ) != data + 
                                        pos.step * (SECOND_Y - 1) +
                                        (SECOND_X + 1) * PLANS,
           Errors,
           "MOVE_RU_WRAP: Wrong pointer\n" );
    CHECK( pos.currline != data + pos.step * (SECOND_Y - 1),
           Errors,
           "MOVE_RU_WRAP: Wrong currline\n" );
    CHECK( pos.x != SECOND_X + 1,
           Errors,
           "MOVE_RU_WRAP: Wrong x\n" );

    /* Check for CV_MOVE_LD_WRAP */
    CHECK( CV_MOVE_LD_WRAP( pos, PLANS ) != data + 
                                        pos.step * SECOND_Y +
                                        SECOND_X * PLANS,
           Errors,
           "MOVE_LD_WRAP: Wrong pointer\n" );
    CHECK( pos.currline != data + pos.step * SECOND_Y,
           Errors,
           "MOVE_LD_WRAP: Wrong currline\n" );
    CHECK( pos.x != SECOND_X,
           Errors,
           "MOVE_LD_WRAP: Wrong x\n" );


    /* Check for CV_MOVE_PARAM */
    CHECK( CV_MOVE_PARAM( pos, CV_SHIFT_NONE, PLANS ) != data + 
                                        pos.step * SECOND_Y +
                                        SECOND_X * PLANS,
           Errors,
           "MOVE_PARAM(NONE): Wrong pointer\n" );
    CHECK( pos.currline != data + pos.step * SECOND_Y,
           Errors,
           "MOVE_PARAM(NONE): Wrong currline\n" );
    CHECK( pos.x != SECOND_X,
           Errors,
           "MOVE_PARAM(NONE): Wrong x\n" );

    CHECK( CV_MOVE_PARAM( pos, CV_SHIFT_LEFT, PLANS ) != data + 
                                        pos.step * SECOND_Y +
                                        (SECOND_X - 1) * PLANS,
           Errors,
           "MOVE_PARAM(LEFT): Wrong pointer\n" );
    CHECK( pos.currline != data + pos.step * SECOND_Y,
           Errors,
           "MOVE_PARAM(LEFT): Wrong currline\n" );
    CHECK( pos.x != SECOND_X - 1,
           Errors,
           "MOVE_PARAM(LEFT): Wrong x\n" );

    CHECK( CV_MOVE_PARAM( pos, CV_SHIFT_RIGHT, PLANS ) != data + 
                                        pos.step * SECOND_Y +
                                        SECOND_X * PLANS,
           Errors,
           "MOVE_PARAM(RIGHT): Wrong pointer\n" );
    CHECK( pos.currline != data + pos.step * SECOND_Y,
           Errors,
           "MOVE_PARAM(RIGHT): Wrong currline\n" );
    CHECK( pos.x != SECOND_X,
           Errors,
           "MOVE_PARAM(RIGHT): Wrong x\n" );

    CHECK( CV_MOVE_PARAM( pos, CV_SHIFT_UP, PLANS ) != data + 
                                        pos.step * (SECOND_Y - 1) +
                                        SECOND_X * PLANS,
           Errors,
           "MOVE_PARAM(UP): Wrong pointer\n" );
    CHECK( pos.currline != data + pos.step * (SECOND_Y - 1),
           Errors,
           "MOVE_PARAM(UP): Wrong currline\n" );
    CHECK( pos.x != SECOND_X,
           Errors,
           "MOVE_PARAM(UP): Wrong x\n" );

    CHECK( CV_MOVE_PARAM( pos, CV_SHIFT_DOWN, PLANS ) != data + 
                                        pos.step * SECOND_Y +
                                        SECOND_X * PLANS,
           Errors,
           "MOVE_PARAM(DOWN): Wrong pointer\n" );
    CHECK( pos.currline != data + pos.step * SECOND_Y,
           Errors,
           "MOVE_PARAM(DOWN): Wrong currline\n" );
    CHECK( pos.x != SECOND_X,
           Errors,
           "MOVE_PARAM(DOWN): Wrong x\n" );

    CHECK( CV_MOVE_PARAM( pos, CV_SHIFT_LU, PLANS ) != data + 
                                        pos.step * (SECOND_Y - 1) +
                                        (SECOND_X - 1) * PLANS,
           Errors,
           "MOVE_PARAM(LU): Wrong pointer\n" );
    CHECK( pos.currline != data + pos.step * (SECOND_Y - 1),
           Errors,
           "MOVE_PARAM(LU): Wrong currline\n" );
    CHECK( pos.x != SECOND_X - 1,
           Errors,
           "MOVE_PARAM(LU): Wrong x\n" );

    CHECK( CV_MOVE_PARAM( pos, CV_SHIFT_RD, PLANS ) != data + 
                                        pos.step * SECOND_Y +
                                        SECOND_X * PLANS,
           Errors,
           "MOVE_PARAM(RD): Wrong pointer\n" );
    CHECK( pos.currline != data + pos.step * SECOND_Y,
           Errors,
           "MOVE_PARAM(RD): Wrong currline\n" );
    CHECK( pos.x != SECOND_X,
           Errors,
           "MOVE_PARAM(RD): Wrong x\n" );

    CHECK( CV_MOVE_PARAM( pos, CV_SHIFT_RU, PLANS ) != data + 
                                        pos.step * (SECOND_Y - 1) +
                                        (SECOND_X + 1) * PLANS,
           Errors,
           "MOVE_PARAM(RU): Wrong pointer\n" );
    CHECK( pos.currline != data + pos.step * (SECOND_Y - 1),
           Errors,
           "MOVE_PARAM(RU): Wrong currline\n" );
    CHECK( pos.x != SECOND_X + 1,
           Errors,
           "MOVE_PARAM(RU): Wrong x\n" );

    CHECK( CV_MOVE_PARAM( pos, CV_SHIFT_LD, PLANS ) != data + 
                                        pos.step * SECOND_Y +
                                        SECOND_X * PLANS,
           Errors,
           "MOVE_PARAM(LD): Wrong pointer\n" );
    CHECK( pos.currline != data + pos.step * SECOND_Y,
           Errors,
           "MOVE_PARAM(LD): Wrong currline\n" );
    CHECK( pos.x != SECOND_X,
           Errors,
           "MOVE_PARAM(LD): Wrong x\n" );


    /* Check for CV_MOVE_PARAM_WRAP */
    CHECK( CV_MOVE_PARAM_WRAP( pos, CV_SHIFT_NONE, PLANS ) != data + 
                                        pos.step * SECOND_Y +
                                        SECOND_X * PLANS,
           Errors,
           "MOVE_PARAM_WRAP(NONE): Wrong pointer\n" );
    CHECK( pos.currline != data + pos.step * SECOND_Y,
           Errors,
           "MOVE_PARAM_WRAP(NONE): Wrong currline\n" );
    CHECK( pos.x != SECOND_X,
           Errors,
           "MOVE_PARAM_WRAP(NONE): Wrong x\n" );

    CHECK( CV_MOVE_PARAM_WRAP( pos, CV_SHIFT_LEFT, PLANS ) != data + 
                                        pos.step * SECOND_Y +
                                        (SECOND_X - 1) * PLANS,
           Errors,
           "MOVE_PARAM_WRAP(LEFT): Wrong pointer\n" );
    CHECK( pos.currline != data + pos.step * SECOND_Y,
           Errors,
           "MOVE_PARAM_WRAP(LEFT): Wrong currline\n" );
    CHECK( pos.x != SECOND_X - 1,
           Errors,
           "MOVE_PARAM_WRAP(LEFT): Wrong x\n" );

    CHECK( CV_MOVE_PARAM_WRAP( pos, CV_SHIFT_RIGHT, PLANS ) != data + 
                                        pos.step * SECOND_Y +
                                        SECOND_X * PLANS,
           Errors,
           "MOVE_PARAM_WRAP(RIGHT): Wrong pointer\n" );
    CHECK( pos.currline != data + pos.step * SECOND_Y,
           Errors,
           "MOVE_PARAM_WRAP(RIGHT): Wrong currline\n" );
    CHECK( pos.x != SECOND_X,
           Errors,
           "MOVE_PARAM_WRAP(RIGHT): Wrong x\n" );

    CHECK( CV_MOVE_PARAM_WRAP( pos, CV_SHIFT_UP, PLANS ) != data + 
                                        pos.step * (SECOND_Y - 1) +
                                        SECOND_X * PLANS,
           Errors,
           "MOVE_PARAM_WRAP(UP): Wrong pointer\n" );
    CHECK( pos.currline != data + pos.step * (SECOND_Y - 1),
           Errors,
           "MOVE_PARAM_WRAP(UP): Wrong currline\n" );
    CHECK( pos.x != SECOND_X,
           Errors,
           "MOVE_PARAM_WRAP(UP): Wrong x\n" );

    CHECK( CV_MOVE_PARAM_WRAP( pos, CV_SHIFT_DOWN, PLANS ) != data + 
                                        pos.step * SECOND_Y +
                                        SECOND_X * PLANS,
           Errors,
           "MOVE_PARAM_WRAP(DOWN): Wrong pointer\n" );
    CHECK( pos.currline != data + pos.step * SECOND_Y,
           Errors,
           "MOVE_PARAM_WRAP(DOWN): Wrong currline\n" );
    CHECK( pos.x != SECOND_X,
           Errors,
           "MOVE_PARAM_WRAP(DOWN): Wrong x\n" );

    CHECK( CV_MOVE_PARAM_WRAP( pos, CV_SHIFT_LU, PLANS ) != data + 
                                        pos.step * (SECOND_Y - 1) +
                                        (SECOND_X - 1) * PLANS,
           Errors,
           "MOVE_PARAM_WRAP(LU): Wrong pointer\n" );
    CHECK( pos.currline != data + pos.step * (SECOND_Y - 1),
           Errors,
           "MOVE_PARAM_WRAP(LU): Wrong currline\n" );
    CHECK( pos.x != SECOND_X - 1,
           Errors,
           "MOVE_PARAM_WRAP(LU): Wrong x\n" );

    CHECK( CV_MOVE_PARAM_WRAP( pos, CV_SHIFT_RD, PLANS ) != data + 
                                        pos.step * SECOND_Y +
                                        SECOND_X * PLANS,
           Errors,
           "MOVE_PARAM_WRAP(RD): Wrong pointer\n" );
    CHECK( pos.currline != data + pos.step * SECOND_Y,
           Errors,
           "MOVE_PARAM_WRAP(RD): Wrong currline\n" );
    CHECK( pos.x != SECOND_X,
           Errors,
           "MOVE_PARAM_WRAP(RD): Wrong x\n" );

    CHECK( CV_MOVE_PARAM_WRAP( pos, CV_SHIFT_RU, PLANS ) != data + 
                                        pos.step * (SECOND_Y - 1) +
                                        (SECOND_X + 1) * PLANS,
           Errors,
           "MOVE_PARAM_WRAP(RU): Wrong pointer\n" );
    CHECK( pos.currline != data + pos.step * (SECOND_Y - 1),
           Errors,
           "MOVE_PARAM_WRAP(RU): Wrong currline\n" );
    CHECK( pos.x != SECOND_X + 1,
           Errors,
           "MOVE_PARAM_WRAP(RU): Wrong x\n" );

    CHECK( CV_MOVE_PARAM_WRAP( pos, CV_SHIFT_LD, PLANS ) != data + 
                                        pos.step * SECOND_Y +
                                        SECOND_X * PLANS,
           Errors,
           "MOVE_PARAM_WRAP(LD): Wrong pointer\n" );
    CHECK( pos.currline != data + pos.step * SECOND_Y,
           Errors,
           "MOVE_PARAM_WRAP(LD): Wrong currline\n" );
    CHECK( pos.x != SECOND_X,
           Errors,
           "MOVE_PARAM_WRAP(LD): Wrong x\n" );
    
    icvFree( &data );

    return Errors == 0 ? TRS_OK : trsResult( TRS_FAIL, "Fixed %d error(s)", Errors );

#undef CHECK

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -