OpenCV编程->cvGet2D函数

来源:互联网 发布:淘宝客服晚班可在家上 编辑:程序博客网 时间:2024/06/11 15:02



// Returns specifed element of 2D arrayCV_IMPL  CvScalarcvGet2D( const CvArr* arr, int y, int x ){    CvScalar scalar = {{0,0,0,0}};    int type = 0;    uchar* ptr;    if( CV_IS_MAT( arr ))    {        CvMat* mat = (CvMat*)arr;        if( (unsigned)y >= (unsigned)(mat->rows) ||            (unsigned)x >= (unsigned)(mat->cols) )            CV_Error( CV_StsOutOfRange, "index is out of range" );        type = CV_MAT_TYPE(mat->type);        ptr = mat->data.ptr + (size_t)y*mat->step + x*CV_ELEM_SIZE(type);    }    else if( !CV_IS_SPARSE_MAT( arr ))        ptr = cvPtr2D( arr, y, x, &type );    else    {        int idx[] = { y, x };        ptr = icvGetNodePtr( (CvSparseMat*)arr, idx, &type, 0, 0 );    }    if( ptr )        cvRawDataToScalar( ptr, type, &scalar );    return scalar;}


0 0
原创粉丝点击