亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cxarray.cpp

?? 將OpenCV移植到DSP上
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
        ptr += y*img->widthStep + x*pix_size;        if( _type )        {            int type = icvIplToCvDepth(img->depth);            if( type < 0 || (unsigned)(img->nChannels - 1) > 3 )                CV_ERROR( CV_StsUnsupportedFormat, "" );            *_type = CV_MAKETYPE( type, img->nChannels );        }    }    else if( CV_IS_MATND( arr ))    {        CvMatND* mat = (CvMatND*)arr;        if( mat->dims != 2 ||             (unsigned)y >= (unsigned)(mat->dim[0].size) ||            (unsigned)x >= (unsigned)(mat->dim[1].size) )            CV_ERROR( CV_StsOutOfRange, "index is out of range" );        ptr = mat->data.ptr + (size_t)y*mat->dim[0].step + x*mat->dim[1].step;        if( _type )            *_type = CV_MAT_TYPE(mat->type);    }    else if( CV_IS_SPARSE_MAT( arr ))    {        CV_ERROR( CV_StsBadArg, "do not support sparse mat now" );    }    else    {        CV_ERROR( CV_StsBadArg, "unrecognized or unsupported array type" );    }    __END__;    return ptr;}// Returns pointer to specified element of 3d arrayCV_IMPL  uchar*cvPtr3D( const CvArr* arr, int z, int y, int x, int* _type ){    uchar* ptr = 0;        CV_FUNCNAME( "cvPtr3D" );    __BEGIN__;    if( CV_IS_MATND( arr ))    {        CvMatND* mat = (CvMatND*)arr;        if( mat->dims != 3 ||             (unsigned)z >= (unsigned)(mat->dim[0].size) ||            (unsigned)y >= (unsigned)(mat->dim[1].size) ||            (unsigned)x >= (unsigned)(mat->dim[2].size) )            CV_ERROR( CV_StsOutOfRange, "index is out of range" );        ptr = mat->data.ptr + (size_t)z*mat->dim[0].step +              (size_t)y*mat->dim[1].step + x*mat->dim[2].step;        if( _type )            *_type = CV_MAT_TYPE(mat->type);    }    else if( CV_IS_SPARSE_MAT( arr ))    {        CV_ERROR( CV_StsBadArg, "do not support sparse mat now" );    }    else    {        CV_ERROR( CV_StsBadArg, "unrecognized or unsupported array type" );    }    __END__;    return ptr;}// Returns the size of CvMat or IplImageCV_IMPL CvSizecvGetSize( const CvArr* arr ){    CvSize size = { 0, 0 };    CV_FUNCNAME( "cvGetSize" );    __BEGIN__;    if( CV_IS_MAT_HDR( arr ))    {        CvMat *mat = (CvMat*)arr;        size.width = mat->cols;        size.height = mat->rows;    }    else if( CV_IS_IMAGE_HDR( arr ))    {        IplImage* img = (IplImage*)arr;        if( img->roi )        {            size.width = img->roi->width;            size.height = img->roi->height;        }        else        {            size.width = img->width;            size.height = img->height;        }    }    else    {        CV_ERROR( CV_StsBadArg, "Array should be CvMat or IplImage" );    }    __END__;    return size;}// Selects sub-array (no data is copied)CV_IMPL  CvMat*cvGetSubRect( const CvArr* arr, CvMat* submat, CvRect rect ){    CvMat* res = 0;        CV_FUNCNAME( "cvGetRect" );    __BEGIN__;    CvMat stub, *mat = (CvMat*)arr;    if( !CV_IS_MAT( mat ))        CV_CALL( mat = cvGetMat( mat, &stub ));    if( !submat )        CV_ERROR( CV_StsNullPtr, "" );    if( (rect.x|rect.y|rect.width|rect.height) < 0 )        CV_ERROR( CV_StsBadSize, "" );    if( rect.x + rect.width > mat->cols ||        rect.y + rect.height > mat->rows )        CV_ERROR( CV_StsBadSize, "" );    {    /*    int* refcount = mat->refcount;    if( refcount )        ++*refcount;    cvDecRefData( submat );    */    submat->data.ptr = mat->data.ptr + (size_t)rect.y*mat->step +                       rect.x*CV_ELEM_SIZE(mat->type);    submat->step = mat->step & (rect.height > 1 ? -1 : 0);    submat->type = (mat->type & (rect.width < mat->cols ? ~CV_MAT_CONT_FLAG : -1)) |                   (submat->step == 0 ? CV_MAT_CONT_FLAG : 0);    submat->rows = rect.height;    submat->cols = rect.width;    submat->refcount = 0;    res = submat;    }        __END__;    return res;}// Selects array's row span.CV_IMPL  CvMat*cvGetRows( const CvArr* arr, CvMat* submat,           int start_row, int end_row, int delta_row ){    CvMat* res = 0;        CV_FUNCNAME( "cvGetRows" );    __BEGIN__;    CvMat stub, *mat = (CvMat*)arr;    if( !CV_IS_MAT( mat ))        CV_CALL( mat = cvGetMat( mat, &stub ));    if( !submat )        CV_ERROR( CV_StsNullPtr, "" );    if( (unsigned)start_row >= (unsigned)mat->rows ||        (unsigned)end_row > (unsigned)mat->rows || delta_row <= 0 )        CV_ERROR( CV_StsOutOfRange, "" );    {    /*    int* refcount = mat->refcount;    if( refcount )        ++*refcount;    cvDecRefData( submat );    */    if( delta_row == 1 )    {        submat->rows = end_row - start_row;        submat->step = mat->step & (submat->rows > 1 ? -1 : 0);    }    else    {        submat->rows = (end_row - start_row + delta_row - 1)/delta_row;        submat->step = mat->step * delta_row;    }    submat->cols = mat->cols;    submat->step &= submat->rows > 1 ? -1 : 0;    submat->data.ptr = mat->data.ptr + (size_t)start_row*mat->step;    submat->type = (mat->type | (submat->step == 0 ? CV_MAT_CONT_FLAG : 0)) &                   (delta_row != 1 ? ~CV_MAT_CONT_FLAG : -1);    submat->refcount = 0;    submat->hdr_refcount = 0;    res = submat;    }        __END__;    return res;}// Selects array's column span.CV_IMPL  CvMat*cvGetCols( const CvArr* arr, CvMat* submat, int start_col, int end_col ){    CvMat* res = 0;        CV_FUNCNAME( "cvGetCols" );    __BEGIN__;    CvMat stub, *mat = (CvMat*)arr;    if( !CV_IS_MAT( mat ))        CV_CALL( mat = cvGetMat( mat, &stub ));    if( !submat )        CV_ERROR( CV_StsNullPtr, "" );    if( (unsigned)start_col >= (unsigned)mat->cols ||        (unsigned)end_col > (unsigned)mat->cols )        CV_ERROR( CV_StsOutOfRange, "" );    {    /*    int* refcount = mat->refcount;    if( refcount )        ++*refcount;    cvDecRefData( submat );    */    submat->rows = mat->rows;    submat->cols = end_col - start_col;    submat->step = mat->step & (submat->rows > 1 ? -1 : 0);    submat->data.ptr = mat->data.ptr + (size_t)start_col*CV_ELEM_SIZE(mat->type);    submat->type = mat->type & (submat->step && submat->cols < mat->cols ?                                ~CV_MAT_CONT_FLAG : -1);    submat->refcount = 0;    submat->hdr_refcount = 0;    res = submat;    }        __END__;    return res;}// Selects array diagonalCV_IMPL  CvMat*cvGetDiag( const CvArr* arr, CvMat* submat, int diag ){    CvMat* res = 0;        CV_FUNCNAME( "cvGetDiag" );    __BEGIN__;    CvMat stub, *mat = (CvMat*)arr;    int len, pix_size;     if( !CV_IS_MAT( mat ))        CV_CALL( mat = cvGetMat( mat, &stub ));    if( !submat )        CV_ERROR( CV_StsNullPtr, "" );    pix_size = CV_ELEM_SIZE(mat->type);    /*{    int* refcount = mat->refcount;    if( refcount )        ++*refcount;    cvDecRefData( submat );    }*/    if( diag >= 0 )    {        len = mat->cols - diag;                if( len <= 0 )            CV_ERROR( CV_StsOutOfRange, "" );        len = CV_IMIN( len, mat->rows );        submat->data.ptr = mat->data.ptr + diag*pix_size;    }    else    {        len = mat->rows + diag;                if( len <= 0 )            CV_ERROR( CV_StsOutOfRange, "" );        len = CV_IMIN( len, mat->cols );        submat->data.ptr = mat->data.ptr - diag*mat->step;    }    submat->rows = len;    submat->cols = 1;    submat->step = (mat->step + pix_size) & (submat->rows > 1 ? -1 : 0);    submat->type = mat->type;    if( submat->step )        submat->type &= ~CV_MAT_CONT_FLAG;    else        submat->type |= CV_MAT_CONT_FLAG;    submat->refcount = 0;    submat->hdr_refcount = 0;    res = submat;        __END__;    return res;}/****************************************************************************************\*                      Operations on CvScalar and accessing array elements               *\****************************************************************************************/// Converts CvScalar to specified typeCV_IMPL voidcvScalarToRawData( const CvScalar* scalar, void* data, int type, int extend_to_12 ){    CV_FUNCNAME( "cvScalarToRawData" );    type = CV_MAT_TYPE(type);        __BEGIN__;    int cn = CV_MAT_CN( type );    int depth = type & CV_MAT_DEPTH_MASK;    assert( scalar && data );    if( (unsigned)(cn - 1) >= 4 )        CV_ERROR( CV_StsOutOfRange, "The number of channels must be 1, 2, 3 or 4" );    switch( depth )    {    case CV_8UC1:        while( cn-- )        {            int t = cvRound( scalar->val[cn] );            ((uchar*)data)[cn] = CV_CAST_8U(t);        }        break;    case CV_8SC1:        while( cn-- )        {            int t = cvRound( scalar->val[cn] );            ((char*)data)[cn] = CV_CAST_8S(t);        }        break;    case CV_16UC1:        while( cn-- )        {            int t = cvRound( scalar->val[cn] );            ((ushort*)data)[cn] = CV_CAST_16U(t);        }        break;    case CV_16SC1:        while( cn-- )        {            int t = cvRound( scalar->val[cn] );            ((short*)data)[cn] = CV_CAST_16S(t);        }        break;    case CV_32SC1:        while( cn-- )            ((int*)data)[cn] = cvRound( scalar->val[cn] );        break;    case CV_32FC1:        while( cn-- )            ((float*)data)[cn] = (float)(scalar->val[cn]);        break;    case CV_64FC1:        while( cn-- )            ((double*)data)[cn] = (double)(scalar->val[cn]);        break;    default:        assert(0);        CV_ERROR_FROM_CODE( CV_BadDepth );    }    if( extend_to_12 )    {        int pix_size = CV_ELEM_SIZE(type);        int offset = CV_ELEM_SIZE1(depth)*12;        do        {            offset -= pix_size;            CV_MEMCPY_AUTO( (char*)data + offset, data, pix_size );        }        while( offset > pix_size );    }    __END__;}// Converts data of specified type to CvScalarCV_IMPL voidcvRawDataToScalar( const void* data, int flags, CvScalar* scalar ){    CV_FUNCNAME( "cvRawDataToScalar" );        __BEGIN__;    int cn = CV_MAT_CN( flags );    assert( scalar && data );        if( (unsigned)(cn - 1) >= 4 )        CV_ERROR( CV_StsOutOfRange, "The number of channels must be 1, 2, 3 or 4" );    memset( scalar->val, 0, sizeof(scalar->val));    switch( CV_MAT_DEPTH( flags ))    {    case CV_8U:        while( cn-- )            scalar->val[cn] = CV_8TO32F(((uchar*)data)[cn]);        break;    case CV_8S:        while( cn-- )            scalar->val[cn] = CV_8TO32F(((char*)data)[cn]);        break;    case CV_16U:        while( cn-- )            scalar->val[cn] = ((ushort*)data)[cn];        break;    case CV_16S:        while( cn-- )            scalar->val[cn] = ((short*)data)[cn];        break;    case CV_32S:        while( cn-- )            scalar->val[cn] = ((int*)data)[cn];        break;    case CV_32F:        while( cn-- )            scalar->val[cn] = ((float*)data)[cn];        break;    case CV_64F:        while( cn-- )            scalar->val[cn] = ((double*)data)[cn];        break;    default:        assert(0);        CV_ERROR_FROM_CODE( CV_BadDepth );    }    __END__;}CV_IMPL IplImage*cvCloneImage( const IplImage* src ){    IplImage* dst = 0;    CV_FUNCNAME( "cvCloneImage" );    __BEGIN__;    if( !CV_IS_IMAGE_HDR( src ))        CV_ERROR( CV_StsBadArg, "Bad image header" );    CV_CALL( dst = (IplImage*)cvAlloc( sizeof(*dst)));    memcpy( dst, src, sizeof(*src));    dst->imageData = dst->imageDataOrigin = 0;    dst->roi = 0;    if( src->roi )    {        dst->roi = icvCreateROI( src->roi->coi, src->roi->xOffset,                      src->roi->yOffset, src->roi->width, src->roi->height );    }    if( src->imageData )    {        int size = src->imageSize;        cvCreateData( dst );        memcpy( dst->imageData, src->imageData, size );    }     __END__;    return dst;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
aaa亚洲精品一二三区| 成人免费视频一区二区| 欧美综合一区二区| 国产亚洲婷婷免费| 国产一区二区免费在线| 欧美日韩国产123区| 亚洲成a人片综合在线| 972aa.com艺术欧美| 亚洲电影第三页| 精品乱码亚洲一区二区不卡| 亚洲综合图片区| 91精品国产全国免费观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 制服丝袜亚洲网站| 亚洲一区二区三区小说| 欧美日韩综合色| 黑人巨大精品欧美黑白配亚洲 | 国产精品久久久久天堂| 夫妻av一区二区| 亚洲一区国产视频| 亚洲精品欧美激情| 亚洲综合久久av| 欧美中文一区二区三区| 一区二区激情视频| 日韩午夜三级在线| 国产99久久久精品| 亚洲国产日韩av| 国产精选一区二区三区| 欧美午夜片在线看| 亚洲欧美区自拍先锋| 日韩电影在线看| 成人av中文字幕| 精品国产一区二区在线观看| 国产精品欧美经典| 国产在线国偷精品产拍免费yy| 菠萝蜜视频在线观看一区| 91啪亚洲精品| 亚洲成人av福利| 欧美日韩午夜在线| 中文字幕免费不卡| 3751色影院一区二区三区| 国产成人av自拍| 日韩电影在线免费| 日韩一区在线免费观看| 久久综合九色综合欧美就去吻| 色综合久久久久综合体桃花网| 国产美女av一区二区三区| 午夜精品久久一牛影视| 亚洲丝袜美腿综合| 国产精品午夜免费| 日韩欧美三级在线| 欧美三区在线视频| 色爱区综合激月婷婷| 国产精品一区二区果冻传媒| 蜜臀av一区二区三区| 亚洲一区二区四区蜜桃| 亚洲视频一区二区在线| 久久免费电影网| 精品日韩在线观看| 日韩一区二区三区在线观看| 欧美日韩一区二区在线观看| 色婷婷激情综合| 91社区在线播放| 91网站黄www| 99热在这里有精品免费| voyeur盗摄精品| 成人综合在线观看| 成人毛片在线观看| 国产传媒欧美日韩成人| 国产一区二区日韩精品| 国模娜娜一区二区三区| 久久精品72免费观看| 伦理电影国产精品| 欧美aⅴ一区二区三区视频| 亚洲成人精品一区二区| 香蕉影视欧美成人| 五月激情综合色| 日韩专区一卡二卡| 男人的j进女人的j一区| 麻豆高清免费国产一区| 久久狠狠亚洲综合| 国产剧情av麻豆香蕉精品| 国产一区二区三区免费在线观看| 国内不卡的二区三区中文字幕 | 538在线一区二区精品国产| 日本女人一区二区三区| 亚洲一区二区在线观看视频| 亚洲欧美激情视频在线观看一区二区三区| 欧美亚洲图片小说| 国产成人综合在线| 国产自产视频一区二区三区| 国产精品福利一区| 亚洲乱码日产精品bd| 中文字幕一区二区三区在线观看| 久久老女人爱爱| 精品少妇一区二区三区在线视频| 日韩精品中文字幕在线不卡尤物 | 亚洲免费观看高清完整版在线观看 | 国产一区三区三区| 国产成人在线网站| 日本高清不卡一区| 欧美日韩日日夜夜| 欧美精品一区二区精品网| 久久精品视频在线看| 亚洲男人的天堂在线aⅴ视频| 亚洲一区二区欧美日韩| 麻豆成人91精品二区三区| 粉嫩蜜臀av国产精品网站| 91精品办公室少妇高潮对白| 8x福利精品第一导航| 久久久99免费| 亚洲激情在线播放| 久久国产福利国产秒拍| 成人丝袜18视频在线观看| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 91精品久久久久久久久99蜜臂| 久久久综合精品| 亚洲影院免费观看| 国产呦萝稀缺另类资源| 在线免费观看视频一区| 精品噜噜噜噜久久久久久久久试看| 中文字幕在线观看不卡视频| 奇米四色…亚洲| 色综合中文综合网| 奇米色一区二区| 99精品国产91久久久久久 | 亚洲精品自拍动漫在线| 日本欧美大码aⅴ在线播放| 国产成人精品网址| 91精品午夜视频| 亚洲人成网站精品片在线观看| 久久69国产一区二区蜜臀| 欧美视频中文字幕| 欧美丰满嫩嫩电影| 亚洲狼人国产精品| 在线观看国产精品网站| 粉嫩一区二区三区在线看| 这里只有精品99re| 国产精品国产三级国产aⅴ无密码| 亚洲va天堂va国产va久| 99国产精品99久久久久久| 2023国产精华国产精品| 亚洲大尺度视频在线观看| 99精品欧美一区二区蜜桃免费| 精品国产乱码久久久久久老虎 | 精品国产一区二区三区不卡| 伊人色综合久久天天人手人婷| 国产精品亚洲专一区二区三区| 日韩久久久精品| 午夜av一区二区| 在线精品视频免费观看| 亚洲日本成人在线观看| 国产精品 日产精品 欧美精品| 日韩欧美国产一二三区| 日韩成人av影视| 欧美美女视频在线观看| 亚洲一卡二卡三卡四卡| 欧洲精品中文字幕| 亚洲欧美激情插 | 欧美老肥妇做.爰bbww视频| 伊人夜夜躁av伊人久久| 91小视频在线| 亚洲区小说区图片区qvod| av在线播放一区二区三区| 国产精品久久国产精麻豆99网站| 国产乱子伦一区二区三区国色天香| 日韩一级片网站| 久久精品二区亚洲w码| 欧美xxx久久| 国内精品国产成人| 国产亚洲一区字幕| 国产成人免费在线观看不卡| 国产女同互慰高潮91漫画| 国产a区久久久| 亚洲色图欧洲色图| 91麻豆123| 香蕉加勒比综合久久| 666欧美在线视频| 久久91精品久久久久久秒播| 久久久久国产一区二区三区四区| 国产一区二区成人久久免费影院| 久久久影院官网| 99久久国产综合精品女不卡| 亚洲欧美日本韩国| 欧美喷潮久久久xxxxx| 日本中文字幕一区| 久久久久久久久岛国免费| 成人国产精品免费网站| 一区二区三区免费| 91精品国产一区二区三区蜜臀| 激情深爱一区二区| 中文字幕乱码亚洲精品一区| 色哟哟国产精品| 奇米精品一区二区三区在线观看| 久久久777精品电影网影网| 91麻豆免费在线观看| 日韩中文字幕亚洲一区二区va在线| 欧美电影免费观看高清完整版在线| 国产精品亚洲第一| 亚洲综合久久久久|