freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)論文設(shè)計(jì)基于快匹配的人群運(yùn)動(dòng)估計(jì)-資料下載頁(yè)

2025-06-28 10:34本頁(yè)面
  

【正文】 實(shí)現(xiàn)中用到的各種數(shù)據(jù)結(jié)構(gòu)與函數(shù)如下:(1) cxcore:CvMat,cvCreateMat,cvReleaseMat,IplImage,cvCreateImage,cvReleaseImage,cvSetZero,ConvertScale,cvCmpS,cvCopy,GetReal*D,cvLine,cvPoint;(2) highgui:CvCapture,cvCreateFileCapture,cvReleaseCapture,cvQueryFrame,cvSetCaptureProperty, cvGetCaptureProperty,cvCreateTrackbar ,cvNamedWindow,cvMoveWindow,cvDestroyWindow ,cvShowImage,cvWaitKey;(3) cv:cvCvtColor ,cvSmooth,cvCalcOpticalFlowBM;(4) c 語(yǔ)言中數(shù)學(xué)庫(kù)里的函數(shù):ceil;(5) 其他函數(shù):cvsize,cvpoint 。下面介紹程序中用到的各種重要函數(shù)與數(shù)據(jù)結(jié)構(gòu)。 該文件中都是圖像處理的函數(shù)與數(shù)據(jù)結(jié)構(gòu)。 CvPoint,CvSizeOpenCV 提供了多種基本數(shù)據(jù)類(lèi)型,雖然這些數(shù)據(jù)類(lèi)型在 C 語(yǔ)言中不是基本類(lèi)型,但結(jié)構(gòu)都很簡(jiǎn)單,可將它們作為原子類(lèi)型,定義在“ …/OpenCV/cxcore/include” 的 中。1. 在這些數(shù)據(jù)類(lèi)型中最簡(jiǎn)單的就是 CvPoint。CvPoint 是一個(gè)簡(jiǎn)單的機(jī)構(gòu)體,定義如下:CvPoint 二維坐標(biāo)系下的點(diǎn),類(lèi)型為整型 typedef struct CvPoint四川大學(xué)本科畢業(yè)論文 基于塊匹配的人群運(yùn)動(dòng)估計(jì)18{int x。 /* X 坐標(biāo), 通常以 0 為基點(diǎn) */int y。 /* y 坐標(biāo), 通常以 0 為基點(diǎn) */}CvPoint。CvPoint 有兩個(gè)變體類(lèi)型; CvPoint2D32f 和 CvPoint3D32f。前者同樣有兩個(gè)成員x,y,但他們是浮點(diǎn)類(lèi)型;后者多一個(gè)浮點(diǎn)類(lèi)型的成員 z。2. CvSize 類(lèi)型與 cvPoint 非常相似,但它的數(shù)據(jù)成員是 integer 類(lèi)型的 width 和height。如果希望使用浮點(diǎn)類(lèi)型,則選用 CvSize 的變體類(lèi)型 CvSize2D32f。 CvMatOpenCV 里有三大數(shù)據(jù)結(jié)構(gòu):CvArr、CvMat、IplImage,它們遵循面向?qū)ο蟮乃枷?。?shí)際上,IplImage 是 CvMat 的派生,而 CvMat 由 CvArr 派生: 圖 31 CvArr,CvMat ,IplImage 的關(guān)系圖在 OpenCV 中沒(méi)有向量結(jié)構(gòu)。任何時(shí)候需要向量,都只需要一個(gè)列矩陣。OpenCV 矩陣的概念與線性代數(shù)課里的概念相比,更抽象,尤其是矩陣的元素,并非只能取簡(jiǎn)單的數(shù)值類(lèi)型。例如,一個(gè)用于新建一個(gè)二維矩陣的例程具有以下原型:cvMat* cvCreateMat ( int rows, int cols, int type )。CvMat 數(shù)據(jù)結(jié)構(gòu)的定義:typedef struct CvMat{int type。 /* CvMat 標(biāo)識(shí) (CV_MAT_MAGIC_VAL), 元素類(lèi)型和標(biāo)記 */int step。 /*每行所占的總位數(shù)*/int* refcount。 /* 數(shù)據(jù)引用計(jì)數(shù) */union四川大學(xué)本科畢業(yè)論文 基于塊匹配的人群運(yùn)動(dòng)估計(jì)19{uchar* ptr。/* 矩陣頭,指向矩陣第 0 行第 0 個(gè)元素*/short* s。int* i。float* fl。double* db。} data。 /* data 指針 */ifdef __cplusplusunion{int rows。int height。}。union{int cols。int width。}。elseint rows。 /* 行數(shù) */int cols。 /* 列數(shù)*/endif} CvMat。與 CvMat 配套的有 cvCreateMat,cvReleaseMatcvCreateMat 用來(lái)創(chuàng)建 CvMat,格式如下:cvCreateMat ( int rows, int cols, int type )。cvReleaseMat 用來(lái)釋放 CvMat,cvReleaseMat(amp。CvMat) IplImage從本質(zhì)上講,它是一個(gè) CvMat 對(duì)象,但它還有其他一些成員變量將矩陣解釋為圖像。這個(gè)結(jié)構(gòu)最初被定義為 Intel 圖像處理庫(kù) (IPL)的一部分。IplImage 結(jié)構(gòu)的準(zhǔn)確定義:typedef struct _IplImage {四川大學(xué)本科畢業(yè)論文 基于塊匹配的人群運(yùn)動(dòng)估計(jì)20 int nSize。 int ID。 int nChannels。 int alphaChannel。 int depth。 char colorModel[4]。 char channelSeq[4]。 int dataOrder。 int origin。 int align。 int width。 int height。 struct _IplROI* roi。 struct _IplImage* maskROI。 void* imageId。 struct _IplTileInfo* tileInfo。 int imageSize。 char* imageData。 int widthStep。 int BorderMode[4]。 int BorderConst[4]。 char* imageDataOrigin。} IplImage。width 和 height 這兩個(gè)變量很重要,其次是 depth 和 nchannals。depth 變量的值取自 中定義的一組數(shù)據(jù),但與在矩陣中看到的對(duì)應(yīng)變量不同。因?yàn)樵趫D像中,往往將深度和通道數(shù)分開(kāi)處理,而在矩陣中,往往同時(shí)表示它們.可用的深度值如表 32 所示。 表 32: OpenCV 圖像深度類(lèi)型宏 圖像像素類(lèi)型IPL_DEPTH_8U 無(wú)符號(hào) 8 位整數(shù) (8u) IPL_DEPTH_8S 有符號(hào) 8 位整數(shù)(8s) 四川大學(xué)本科畢業(yè)論文 基于塊匹配的人群運(yùn)動(dòng)估計(jì)21IPL_DEPTH_16S 有符號(hào) 16 位整數(shù)(16s) IPL_DEPTH_32S 有符號(hào) 32 位整數(shù)(32s) IPL_DEPTH_32F 32 位浮點(diǎn)數(shù)單精度(32f) IPL_DEPTH_64F 64 位浮點(diǎn)數(shù)雙精度(64f) 通道數(shù) nChannels 可取的值是 1,2,3 或 4。Origin 變量有兩種取值:IPL_ORIGIN_TL 或 OPL_ORIGIN_BL,分別設(shè)置坐標(biāo)原點(diǎn)的位置于圖像的左上角或左下角。而 OpenCV 經(jīng)常出錯(cuò)于此,有時(shí)在轉(zhuǎn)換通道時(shí)原點(diǎn)會(huì)變換,有時(shí)在平滑處理時(shí)會(huì),這些會(huì)導(dǎo)致圖像顛倒,甚至造成處理的嚴(yán)重偏差。同 CvMat,IplImage 也有配套函數(shù):cvCreateImage,cvReleaseImage它們格式分別是: cvCreateImage( CvSize size, int depth, int channels )。cvReleaseImage(amp。Image)。 其他函數(shù) 前面介紹的都是數(shù)據(jù)結(jié)構(gòu),下面介紹函數(shù):1)cvSetZero清空數(shù)組 void cvSetZero( CvArr* arr )。define cvZero cvSetZeroarr 要被清空數(shù)組. 函數(shù) cvSetZero 清空數(shù)組. 對(duì)于密集型號(hào)數(shù)組 (CvMat, CvMatND or IplImage) cvZero(array) 就相當(dāng)于 cvSet(array,cvScalarAll(0),0), 對(duì)于稀疏數(shù)組所有的元素都將被刪除. 函數(shù) cvSetZero()僅僅是 cvSet()別名。void cvSet(CvArr*arr,CvScalar value,const CvArr*mask=NULL)。 這些函數(shù)能將數(shù)組的所有通道的所有值設(shè)置為指定的參數(shù) value。該 cvSet()函數(shù)接受一個(gè)可選的參數(shù):如果提供參數(shù),那么只有那些與參數(shù) mask 中非 0 值對(duì)應(yīng)的像素將被設(shè)置為指定的值。2) cv ConvertScale(本程序用的是 cvConvert)使用線性變換轉(zhuǎn)換數(shù)組 四川大學(xué)本科畢業(yè)論文 基于塊匹配的人群運(yùn)動(dòng)估計(jì)22void cvConvertScale( const CvArr* src, CvArr* dst, double scale=1, double shift=0 )。define cvCvtScale cvConvertScaledefine cvScale cvConvertScaledefine cvConvert( src, dst ) cvConvertScale( (src), (dst), 1, 0 )src 輸入數(shù)組. dst 輸出數(shù)組 scale 比例因子. shift 該加數(shù)被加到輸入數(shù)組元素按比例縮放后得到的元素上 函數(shù) cvConvertScale 有多個(gè)不同的目的因此就有多個(gè)同義函數(shù)(如上面的define 所示) 。該函數(shù)首先對(duì)輸入數(shù)組的元素進(jìn)行比例縮放,然后將 shift 加到比例縮放后得到的各元素上,即: dst(I)=src(I)*scale + (shift,shift,...),最后可選的類(lèi)型轉(zhuǎn)換將結(jié)果拷貝到輸出數(shù)組。 多通道的數(shù)組對(duì)各個(gè)通道是獨(dú)立處理的。 類(lèi)型轉(zhuǎn)換主要用舍入和溢出截?cái)鄟?lái)完成。也就是如果縮放+轉(zhuǎn)換后的結(jié)果值不能用輸出數(shù)組元素類(lèi)型值精確表達(dá),就設(shè)置成在輸出數(shù)組數(shù)據(jù)軸上最接近該數(shù)的值。 如果 scale=1, shift=0 就不會(huì)進(jìn)行比例縮放. 這是一個(gè)特殊的優(yōu)化,相當(dāng)于該函數(shù)的同義函數(shù)名:cvConvert 。如果原來(lái)數(shù)組和輸出數(shù)組的類(lèi)型相同,這是另一種特殊情形,可以被用于比例縮放和平移矩陣或圖像,此時(shí)相當(dāng)于該函數(shù)的同義函數(shù)名:cvScale。3) cvCmpS比較數(shù)組的每個(gè)元素與數(shù)量的關(guān)系 void cvCmpS( const CvArr* src, double value, CvArr* dst, int cmp_op )。src 原數(shù),必須有一個(gè)單通道。 value 用與數(shù)組元素比較的數(shù)量值 dst 輸出數(shù)組必須是 8u 或 8s 類(lèi)型. cmp_op 該標(biāo)識(shí)指定要檢查的元素之間的關(guān)系: CV_CMP_EQ src1(I) 等于 value CV_CMP_GT src1(I) 大于 value 四川大學(xué)本科畢業(yè)論文 基于塊匹配的人群運(yùn)動(dòng)估計(jì)23CV_CMP_GE src1(I) 大于等于 value CV_CMP_LT src1(I) 小于 value CV_CMP_LE src1(I) 小于等于 value CV_CMP_NE src1(I) 不等于 value 函數(shù) cvCmpS 比較數(shù)組元素與數(shù)量并且添充目標(biāo)復(fù)蓋面數(shù)組: dst(I)=src(I) op scalar,這里 op 是 39。=39。, 39。39。, 39。=39。, 39。39。, 39。=39。 or 39。!=39。. 如果元素之間的關(guān)系為真則設(shè)置 dst(I)為 0xff (也就是所有的位都為 39。139。) 否則為 0。所有的數(shù)組必須有相同的大?。ɑ?ROI 大小)4) cvCopy拷貝一個(gè)數(shù)組給另一個(gè)數(shù)組 void cvCopy( const CvArr* src, CvArr* dst, const CvArr* mask=NULL )。src 輸入數(shù)組。 dst 輸出數(shù)組。 mask 操作掩碼是 8 比特單通道的數(shù)組,它指定了輸出數(shù)組中被改變的元素。 函數(shù) cvCopy 從輸入數(shù)組中復(fù)制選定的成分到輸出數(shù)組: 如果 mask(I)!=0,則 dst(I)=src(I)。 如果輸入輸出數(shù)組中的一個(gè)是 IplImage 類(lèi)型的話,其 ROI 和 COI 將被使用。輸入輸出數(shù)組必須是同樣的類(lèi)型、維數(shù)和大小。函數(shù)也可以用來(lái)復(fù)制散列數(shù)組(這種
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1