apixelaccessi.hc

来自「微软的基于HMM的人脸识别原代码, 非常经典的说」· HC 代码 · 共 504 行 · 第 1/2 页

HC
504
字号
    /* 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 + =
减小字号Ctrl + -
显示快捷键?