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

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

?? _cvmatrix.h

?? 將OpenCV移植到DSP上
?? H
字號:
////////////////////////////////////////////////////////////////////////////////////////////  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.////  By downloading, copying, installing or using the software you agree to this license.//  If you do not agree to this license, do not download, install,//  copy or use the software.//////                 License For Embedded Computer Vision Library//// Copyright (c) 2008, EMCV Project,// Copyright (c) 2000-2007, Intel Corporation,// All rights reserved.// Third party copyrights are property of their respective owners.//// Redistribution and use in source and binary forms, with or without modification, // are permitted provided that the following conditions are met:////    * Redistributions of source code must retain the above copyright notice, //      this list of conditions and the following disclaimer.//    * Redistributions in binary form must reproduce the above copyright notice, //      this list of conditions and the following disclaimer in the documentation //      and/or other materials provided with the distribution.//    * Neither the name of the copyright holders nor the names of their contributors //      may be used to endorse or promote products derived from this software //      without specific prior written permission.//// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. // IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY // OF SUCH DAMAGE.//// Contributors://    * Shiqi Yu (Shenzhen Institute of Advanced Technology, Chinese Academy of Sciences)#ifndef _CV_MATRIX_H_#define _CV_MATRIX_H_#define icvCopyVector( src, dst, len ) memcpy( (dst), (src), (len)*sizeof((dst)[0]))#define icvSetZero( dst, len ) memset( (dst), 0, (len)*sizeof((dst)[0]))#define icvCopyVector_32f( src, len, dst ) memcpy((dst),(src),(len)*sizeof(float))#define icvSetZero_32f( dst, cols, rows ) memset((dst),0,(rows)*(cols)*sizeof(float))#define icvCopyVector_64d( src, len, dst ) memcpy((dst),(src),(len)*sizeof(double))#define icvSetZero_64d( dst, cols, rows ) memset((dst),0,(rows)*(cols)*sizeof(double))#define icvCopyMatrix_32f( src, w, h, dst ) memcpy((dst),(src),(w)*(h)*sizeof(float))#define icvCopyMatrix_64d( src, w, h, dst ) memcpy((dst),(src),(w)*(h)*sizeof(double))#define icvCreateVector_32f( len )  (float*)cvAlloc( (len)*sizeof(float))#define icvCreateVector_64d( len )  (double*)cvAlloc( (len)*sizeof(double))#define icvCreateMatrix_32f( w, h )  (float*)cvAlloc( (w)*(h)*sizeof(float))#define icvCreateMatrix_64d( w, h )  (double*)cvAlloc( (w)*(h)*sizeof(double))#define icvDeleteVector( vec )  cvFree( &(vec) )#define icvDeleteMatrix icvDeleteVector#define icvAddMatrix_32f( src1, src2, dst, w, h ) \    icvAddVector_32f( (src1), (src2), (dst), (w)*(h))#define icvSubMatrix_32f( src1, src2, dst, w, h ) \    icvSubVector_32f( (src1), (src2), (dst), (w)*(h))#define icvNormVector_32f( src, len )  \    sqrt(icvDotProduct_32f( src, src, len ))#define icvNormVector_64d( src, len )  \    sqrt(icvDotProduct_64d( src, src, len ))#define icvDeleteMatrix icvDeleteVector#define icvCheckVector_64f( ptr, len )#define icvCheckVector_32f( ptr, len )CV_INLINE double icvSum_32f( const float* src, int len ){    double s = 0;    for( int i = 0; i < len; i++ ) s += src[i];    icvCheckVector_64f( &s, 1 );    return s;}CV_INLINE double icvDotProduct_32f( const float* src1, const float* src2, int len ){    double s = 0;    for( int i = 0; i < len; i++ ) s += src1[i]*src2[i];    icvCheckVector_64f( &s, 1 );    return s;}CV_INLINE double icvDotProduct_64f( const double* src1, const double* src2, int len ){    double s = 0;    for( int i = 0; i < len; i++ ) s += src1[i]*src2[i];    icvCheckVector_64f( &s, 1 );    return s;}CV_INLINE void icvMulVectors_32f( const float* src1, const float* src2,                                  float* dst, int len ){    int i;    for( i = 0; i < len; i++ )        dst[i] = src1[i] * src2[i];    icvCheckVector_32f( dst, len );}CV_INLINE void icvMulVectors_64d( const double* src1, const double* src2,                                  double* dst, int len ){    int i;    for( i = 0; i < len; i++ )        dst[i] = src1[i] * src2[i];    icvCheckVector_64f( dst, len );}CV_INLINE void icvAddVector_32f( const float* src1, const float* src2,                                  float* dst, int len ){    int i;    for( i = 0; i < len; i++ )        dst[i] = src1[i] + src2[i];    icvCheckVector_32f( dst, len );}CV_INLINE void icvAddVector_64d( const double* src1, const double* src2,                                  double* dst, int len ){    int i;    for( i = 0; i < len; i++ )        dst[i] = src1[i] + src2[i];    icvCheckVector_64f( dst, len );}CV_INLINE void icvSubVector_32f( const float* src1, const float* src2,                                  float* dst, int len ){    int i;    for( i = 0; i < len; i++ )        dst[i] = src1[i] - src2[i];    icvCheckVector_32f( dst, len );}CV_INLINE void icvSubVector_64d( const double* src1, const double* src2,                                  double* dst, int len ){    int i;    for( i = 0; i < len; i++ )        dst[i] = src1[i] - src2[i];    icvCheckVector_64f( dst, len );}#define icvAddMatrix_64d( src1, src2, dst, w, h ) \    icvAddVector_64d( (src1), (src2), (dst), (w)*(h))#define icvSubMatrix_64d( src1, src2, dst, w, h ) \    icvSubVector_64d( (src1), (src2), (dst), (w)*(h))CV_INLINE void icvSetIdentity_32f( float* dst, int w, int h ){    int i, len = MIN( w, h );    icvSetZero_32f( dst, w, h );    for( i = 0; len--; i += w+1 )        dst[i] = 1.f;}CV_INLINE void icvSetIdentity_64d( double* dst, int w, int h ){    int i, len = MIN( w, h );    icvSetZero_64d( dst, w, h );    for( i = 0; len--; i += w+1 )        dst[i] = 1.;}CV_INLINE void icvTrace_32f( const float* src, int w, int h, float* trace ){    int i, len = MIN( w, h );    double sum = 0;    for( i = 0; len--; i += w+1 )        sum += src[i];    *trace = (float)sum;    icvCheckVector_64f( &sum, 1 );}CV_INLINE void icvTrace_64d( const double* src, int w, int h, double* trace ){    int i, len = MIN( w, h );    double sum = 0;    for( i = 0; len--; i += w+1 )        sum += src[i];    *trace = sum;    icvCheckVector_64f( &sum, 1 );}CV_INLINE void icvScaleVector_32f( const float* src, float* dst,                                   int len, double scale ){    int i;    for( i = 0; i < len; i++ )        dst[i] = (float)(src[i]*scale);    icvCheckVector_32f( dst, len );}CV_INLINE void icvScaleVector_64d( const double* src, double* dst,                                   int len, double scale ){    int i;    for( i = 0; i < len; i++ )        dst[i] = src[i]*scale;    icvCheckVector_64f( dst, len );}CV_INLINE void icvTransposeMatrix_32f( const float* src, int w, int h, float* dst ){    int i, j;    for( i = 0; i < w; i++ )        for( j = 0; j < h; j++ )            *dst++ = src[j*w + i];            icvCheckVector_32f( dst, w*h );}CV_INLINE void icvTransposeMatrix_64d( const double* src, int w, int h, double* dst ){    int i, j;    for( i = 0; i < w; i++ )        for( j = 0; j < h; j++ )            *dst++ = src[j*w + i];    icvCheckVector_64f( dst, w*h );}CV_INLINE void icvDetMatrix3x3_64d( const double* mat, double* det ){    #define m(y,x) mat[(y)*3 + (x)]        *det = m(0,0)*(m(1,1)*m(2,2) - m(1,2)*m(2,1)) -           m(0,1)*(m(1,0)*m(2,2) - m(1,2)*m(2,0)) +           m(0,2)*(m(1,0)*m(2,1) - m(1,1)*m(2,0));    #undef m    icvCheckVector_64f( det, 1 );}CV_INLINE void icvMulMatrix_32f( const float* src1, int w1, int h1,                                 const float* src2, int w2, int h2,                                 float* dst ){    int i, j, k;    if( w1 != h2 )    {        assert(0);        return;    }    for( i = 0; i < h1; i++, src1 += w1, dst += w2 )        for( j = 0; j < w2; j++ )        {            double s = 0;            for( k = 0; k < w1; k++ )                s += src1[k]*src2[j + k*w2];            dst[j] = (float)s;        }    icvCheckVector_32f( dst, h1*w2 );}CV_INLINE void icvMulMatrix_64d( const double* src1, int w1, int h1,                                 const double* src2, int w2, int h2,                                 double* dst ){    int i, j, k;    if( w1 != h2 )    {        assert(0);        return;    }    for( i = 0; i < h1; i++, src1 += w1, dst += w2 )        for( j = 0; j < w2; j++ )        {            double s = 0;            for( k = 0; k < w1; k++ )                s += src1[k]*src2[j + k*w2];            dst[j] = s;        }    icvCheckVector_64f( dst, h1*w2 );}#define icvTransformVector_32f( matr, src, dst, w, h ) \    icvMulMatrix_32f( matr, w, h, src, 1, w, dst )#define icvTransformVector_64d( matr, src, dst, w, h ) \    icvMulMatrix_64d( matr, w, h, src, 1, w, dst )#define icvScaleMatrix_32f( src, dst, w, h, scale ) \    icvScaleVector_32f( (src), (dst), (w)*(h), (scale) )#define icvScaleMatrix_64d( src, dst, w, h, scale ) \    icvScaleVector_64d( (src), (dst), (w)*(h), (scale) )#define icvDotProduct_64d icvDotProduct_64fCV_INLINE void icvInvertMatrix_64d( double* A, int n, double* invA ){    CvMat Am = cvMat( n, n, CV_64F, A );    CvMat invAm = cvMat( n, n, CV_64F, invA );    cvInvert( &Am, &invAm, CV_SVD );}CV_INLINE void icvMulTransMatrixR_64d( double* src, int width, int height, double* dst ){    CvMat srcMat = cvMat( height, width, CV_64F, src );    CvMat dstMat = cvMat( width, width, CV_64F, dst );    cvMulTransposed( &srcMat, &dstMat, 1 );}CV_INLINE void icvMulTransMatrixL_64d( double* src, int width, int height, double* dst ){    CvMat srcMat = cvMat( height, width, CV_64F, src );    CvMat dstMat = cvMat( height, height, CV_64F, dst );    cvMulTransposed( &srcMat, &dstMat, 0 );}CV_INLINE void icvMulTransMatrixR_32f( float* src, int width, int height, float* dst ){    CvMat srcMat = cvMat( height, width, CV_32F, src );    CvMat dstMat = cvMat( width, width, CV_32F, dst );    cvMulTransposed( &srcMat, &dstMat, 1 );}CV_INLINE void icvMulTransMatrixL_32f( float* src, int width, int height, float* dst ){    CvMat srcMat = cvMat( height, width, CV_32F, src );    CvMat dstMat = cvMat( height, height, CV_32F, dst );    cvMulTransposed( &srcMat, &dstMat, 0 );}CV_INLINE void icvCvt_32f_64d( const float* src, double* dst, int len ){    int i;    for( i = 0; i < len; i++ )        dst[i] = src[i];}CV_INLINE void icvCvt_64d_32f( const double* src, float* dst, int len ){    int i;    for( i = 0; i < len; i++ )        dst[i] = (float)src[i];}#endif/*_CV_MATRIX_H_*//* End of file. */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国av一区二区三区在线观看| 91国产丝袜在线播放| 国产91精品一区二区| 欧美午夜视频网站| 中文字幕一区二区三区色视频| 日本不卡视频在线| 色婷婷久久一区二区三区麻豆| 久久久国际精品| 日本欧美在线看| 欧美日韩一区二区欧美激情| 中文字幕一区二区在线播放 | 高清成人在线观看| 欧美一区二区三区日韩| 亚洲乱码国产乱码精品精可以看| 国产在线看一区| 精品久久一二三区| 免费成人美女在线观看| 91精品免费在线| 亚洲bt欧美bt精品| 欧美午夜免费电影| 一区二区三区中文字幕电影| 成人综合婷婷国产精品久久| 久久嫩草精品久久久精品一| 精品在线一区二区三区| 69精品人人人人| 日韩中文字幕麻豆| 3d成人动漫网站| 午夜久久电影网| 欧美日韩在线直播| 性久久久久久久久久久久| 在线观看三级视频欧美| 亚洲综合丝袜美腿| 欧美日韩一区二区在线观看| 亚洲综合在线电影| 欧美群妇大交群中文字幕| 一区二区成人在线视频| 色999日韩国产欧美一区二区| 亚洲人成伊人成综合网小说| 91麻豆精东视频| 国产精品996| 久久久亚洲精品石原莉奈| 国产资源精品在线观看| 国产日韩欧美综合一区| 成人网在线免费视频| 中文字幕制服丝袜成人av| 不卡的av在线播放| 亚洲综合小说图片| 3751色影院一区二区三区| 看片的网站亚洲| 日本一区二区成人| 色悠悠久久综合| 一个色综合av| 日韩一区二区中文字幕| 国产精品一区在线| 亚洲欧美视频在线观看| 欧美日韩在线播放三区| 极品美女销魂一区二区三区免费| 久久久国产精华| 91极品视觉盛宴| 激情综合网av| 亚洲欧美日韩小说| 日韩丝袜情趣美女图片| 国产a区久久久| 日日噜噜夜夜狠狠视频欧美人| 亚洲精品第一国产综合野| 欧美羞羞免费网站| 精品一区二区综合| 亚洲精品乱码久久久久久黑人 | 国产女同性恋一区二区| 在线观看欧美精品| 国产一区91精品张津瑜| 亚洲欧美日韩电影| 精品国产在天天线2019| 色综合久久66| 国产成人综合亚洲91猫咪| 亚洲欧美色图小说| 久久久精品欧美丰满| 9191成人精品久久| 91一区一区三区| 韩国精品免费视频| 天堂在线一区二区| 亚洲欧美成人一区二区三区| 久久久久久亚洲综合| 亚洲婷婷国产精品电影人久久| 在线成人av网站| 色伊人久久综合中文字幕| 国产一区不卡视频| 免费成人小视频| 亚洲第一电影网| 成人欧美一区二区三区在线播放| 精品国产乱码久久久久久免费| 欧美视频三区在线播放| 本田岬高潮一区二区三区| 狠狠色狠狠色综合日日91app| 午夜精品123| 亚洲欧美激情视频在线观看一区二区三区| 91精品国产91热久久久做人人 | 国产精品亚洲一区二区三区妖精 | 国产成人在线观看| 精品一区二区三区视频| 日韩黄色片在线观看| 亚洲最新在线观看| 亚洲免费观看视频| 亚洲天堂精品视频| 国产精品看片你懂得| 国产欧美日韩综合| 欧美国产日韩精品免费观看| 久久精品欧美日韩精品| 欧美tickle裸体挠脚心vk| 日韩欧美一区二区在线视频| 欧美日韩视频在线一区二区| 欧美怡红院视频| 欧美日韩一区二区三区视频| 欧美少妇一区二区| 欧美精品久久99| 日韩欧美在线综合网| 欧美精品一区二区三区很污很色的| 欧美精品一卡二卡| 日韩女优av电影在线观看| 欧美变态口味重另类| 久久伊99综合婷婷久久伊| 国产调教视频一区| 亚洲人成网站精品片在线观看| 亚洲人成在线播放网站岛国| 亚洲国产wwwccc36天堂| 日韩成人av影视| 国产剧情一区二区三区| jlzzjlzz欧美大全| 在线观看日韩精品| 欧美一级二级在线观看| 久久综合网色—综合色88| 麻豆精品国产91久久久久久| 激情六月婷婷综合| www.色精品| 欧美三级电影在线观看| 日韩一区二区电影网| 国产午夜精品久久| 亚洲一线二线三线久久久| 蜜臀久久99精品久久久久宅男| 国产精品99久久久| 欧美在线不卡视频| 久久女同性恋中文字幕| 亚洲女厕所小便bbb| 日本欧美加勒比视频| 国产**成人网毛片九色| 欧美亚一区二区| 久久精品网站免费观看| 一区二区三区高清在线| 久久国产剧场电影| 色婷婷激情一区二区三区| 欧美疯狂性受xxxxx喷水图片| 国产视频视频一区| 日日夜夜免费精品| 成人免费看片app下载| 欧美久久久久久久久中文字幕| 久久久久久久综合色一本| 亚洲综合久久久久| 国产精品69毛片高清亚洲| 欧美日韩国产一区二区三区地区| 精品欧美久久久| 一区二区三区精品视频在线| 国产在线精品视频| 欧美日韩一区久久| 国产精品蜜臀av| 九九视频精品免费| 欧美日本精品一区二区三区| 日本一区二区综合亚洲| 免费在线观看成人| 欧美自拍丝袜亚洲| 国产精品国产三级国产普通话蜜臀 | 欧美亚洲动漫精品| 欧美国产激情二区三区| 麻豆成人av在线| 欧美日韩一卡二卡三卡| 自拍偷在线精品自拍偷无码专区| 激情六月婷婷久久| 69久久夜色精品国产69蝌蚪网| 一区二区三区在线视频观看| 国产91对白在线观看九色| 精品国产青草久久久久福利| 亚洲高清视频在线| 一本久久a久久免费精品不卡| 国产亚洲一区二区三区在线观看| 日本欧美一区二区三区乱码| 欧美午夜精品一区二区蜜桃| **欧美大码日韩| 成人免费黄色在线| 国产日产欧美一区二区三区| 黑人精品欧美一区二区蜜桃| 日韩小视频在线观看专区| 午夜av一区二区三区| 欧美主播一区二区三区| 亚洲精品综合在线| 色综合中文字幕国产 | 欧美亚洲日本一区| 亚洲天堂网中文字| 一本大道av伊人久久综合| 亚洲欧美另类小说| 在线亚洲+欧美+日本专区| 亚洲免费av观看|