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

正文內(nèi)容

基于模板匹配的目標跟蹤技術研究與實現(xiàn)畢業(yè)設計論文(編輯修改稿)

2025-10-03 17:34 本頁面
 

【文章內(nèi)容簡介】 cvActionMethod()四種。 cvActionTarget()類型如 cvCreateImage(), cvNamedWindow()。 cvTarget()類型的非常常見,如 cvMat(), cvSize(), cvPoint()。 cvMethod()類型比較常用的是算法或某方法,如 cvDCT()離散余弦變換算法。 cvActionMethod()的類型如 cvFindContours()輪廓搜尋算法 。 此外也有例外,如: DoubleClickedMouse()。 矩陣數(shù)據(jù)類型 結構如下: 南華大學計算機科學與技術學院畢業(yè)設計(論文) 8 CV_bit_depth(S|U|F)Cnumber_of_channels,其中 S 為符號整型, U為無符號整型, F 則為浮點型。比如 : CV_16UC1 指的就是 16 位的無符號的整型的單通道矩陣; CV_64FC2 指的就是 64 位的浮點型的雙通道矩陣。 圖像數(shù)據(jù)類型 結構如下: IPL_DEPTH_bit_depth(S|U|F),其中 S 為符號整型, U 為無符號整型, F 為浮點型。比如: IPL_DEPTH_16U 圖像像素數(shù)據(jù)值得就是 16 位的無符號的整型。 OpenCV 的基本數(shù)據(jù)類型 基本數(shù)據(jù)類型 OpenCV 視覺庫提供了多種基本數(shù)據(jù)類型。 如 CvPoint、 CvSize、 CvRect 和CvScalar。而在以上提到的這些數(shù)據(jù)類型當中, CvPoint 這個數(shù)據(jù)類型最為簡單。CvPoint 是一個包含 了 int 整型成員 x、 y 的簡單的結構體。另一個數(shù)據(jù)類型與 CvPoint 非常相似,即為 CvSize 這個包含 int 型成員 width 和 height 的簡單結構體。 CvRect 類型則是派生于 CvPoint 和 CvSize 類型的復合類型,包含 了 4 個數(shù)據(jù)成員: width 和 height、還有 x 和 y。下一個 是 CvScalar , CvScalar 類型擁有著一個單獨成員 val 和 4 個都為整型成員,其中的單獨成員是一個指向著 4 個雙精度的浮點數(shù)組成的數(shù)組的指針。 CvMat 數(shù)據(jù)結構 CvArr CvMat IplImage 圖 CvArr、 CvMat 和 IplImage 之間派生關系 OpenCV 雖是用 C 語言實現(xiàn)的,但是它的結構還是遵循面向?qū)ο蟮乃枷朐O計。如上圖 , IplImage 由 CvMat 派生,而 CvArr 派生了 CvMat 。 CvArr*是 一種獨特結構。而 CvMat 是 OpenCV 在運用過程中常用的矩陣。 IplImage 為 OpenCV 所 南華大學計算機科學與技術學院畢業(yè)設計(論文) 9 有的圖像編碼的基本結構。 CvMat 矩陣結構簡單,由類型 (type)、行數(shù)據(jù)長度 (step)、寬度 (width)、高度 (height)和一個指向著數(shù)據(jù)的指針構成。 作為 OpenCV中的 重要的矩陣變換函數(shù), CvMat 使用方法 是 CvMat* cvCreateMat ( int rows, int cols, int type )。 預定義類型的結構如下: CV_bit_depth (S|U|F)Cnumber_of_channels。矩陣 的 元素 能夠是 32 位 的 浮點型 的 數(shù)據(jù) (CV_32FC1),或是無符號 8 位 的 三元組 整型 的 數(shù)據(jù) (CV_8UC3), 異或 是無數(shù)其他類型元素。一個 CvMat 元素 它 不一定 非得 是 一 個單一的數(shù)字。在矩陣中可以 由 單一輸入來表示多 個數(shù) 值,這樣 的話 我們 就能夠 在一個三原色 的 圖像上描繪多重 的 色彩通道。 CvMat 結構: typedef struct CvMat { int type。 int step。 //類型,行數(shù)據(jù)長度 int* refcount。 //僅供內(nèi)部使用 int hdr_refcount。 union { uchar* ptr。 short* s。 int* i。 float* fl。 double* db。 } data。 union { int rows。 int height。 //排、高度 }。 union { int cols。 int width。 //列、寬度 }。 } CvMat。 IpLImage 數(shù)據(jù)結構 OpenCV 中所有圖像都采用了同一結構,事實上, IplImage 是借鑒了 Intel 公司 南華大學計算機科學與技術學院畢業(yè)設計(論文) 10 在早期公布的 IPP 圖像處理開發(fā)包中對于相關結構的定義。 因為 OpenCV主要針對計算機視覺方面的處理, 所以, 在 這個 函數(shù)庫中, IplImage結構 是 最 為關鍵 重要的結構體。 IplImage 結構 源自 Intel 的另一函數(shù)庫 Intel Image Processing Library (IPL)。 IplImage 結構定義如下: typedef struct _IplImage { int nSize。 /* 大小 */ int ID。 /* 版本 */ int nChannels。 /* 通道 */ int alphaChannel。 int depth。 /* 像素的位深度 */ char colorModel[4]。 char channelSeq[4]。 int dataOrder。 int origin。 /*原點位置 */ int align。 /*行排列方式 */ int width。 /* 寬像素數(shù) */ int height。 /* 高像素數(shù) */ struct _IplROI * roi。 /* 圖像感興趣區(qū)域 */ struct _IplImage * maskROI。 /* NULL */ void * imageId。 /* NULL */ struct _IplTileInfo * tileInfo。 /* NULL */ int imageSize。 /* 數(shù)據(jù)大小 */ char * imageData。 /* 指向排列的圖像數(shù)據(jù) */ int widthStep。 /* 排列的圖像行大小 */ int BorderMode[4]。 int BorderConst[4]。 char *imageDataOrigin。 } IplImage。 IplImage 是整個 OpenCV 函數(shù)庫的基礎,在定義該結構 變量 時 會 用到函數(shù)cvCreatImage。 OpenCV 圖像 /視頻處理流程 OpenCV 圖像 處理流程 使用 OpenCV來處理 數(shù)字 圖像 其流程包括 如圖 所示的 四個基本 過程:( 1) 加 南華大學計算機科學與技術學院畢業(yè)設計(論文) 11 載需要處理的圖像 , 這可以使用函數(shù) cvLoadImage 實現(xiàn) ;( 2)使用 圖像處理算法對圖像進行處理 , OpenCV提供 了很多圖像處理算法,比如邊緣檢測 、 圖像 旋轉等等 ,但有些算法需要自己編寫 ; ( 3)對 圖像處理的 結果 進行可視化顯示或保存 ,可 使用cvShowImage 函數(shù)對處理 結果進行 顯示和 使用 cvSaveImage 函數(shù) 將 結果 圖像保存到相應位置;( 4) 卸載加載的圖像 , 這可以用函數(shù) cvReleaseImage 進行實現(xiàn)。 如下 的示例代碼是使用 OpenCV 讀取 保存在指定 位置 的圖片,把它轉化成灰度圖像 后 對處理 結果 進行顯示 和 保存 。從 這個實例我們可以 看出 :使用 OpenCV 可以 很簡單的實現(xiàn)對圖像 數(shù)據(jù) 的 讀取 操作和顯示保存操作。 圖像加載圖像處理結果顯示 、 保存卸載圖像cvLoadImage算 法cvShowImagecvSaveImagecvReleaseImage 圖 OpenCV圖像 處理基本流程 IplImage* colorImg = NULL。 //定義 IplImage 型變量 IplImage* grayImg = NULL。 colorImg = cvLoad(“D:\\”)。 //加載 圖像 grayImg=cvCreateImage(cvGetSize(colorImg),colorImgdepth,1)。 //創(chuàng)建 灰度圖像cvCvtColor(colorImg, grayImg, CV_RGB2GRAY)。 //轉化為 灰度圖像 cvNamedWindow (“處理結果 ”, 1)。 //定義 窗口用 于顯示結果 cvShowImage(“處理 結果 ”, grayImg)。 //在 窗體 上 顯示處理結果 cvSaveImge(“D:\\”, grayImg)。 //將 顯示結果進行保存 南華大學計算機科學與技術學院畢業(yè)設計(論文) 12 cvReleaseImg(amp。grayImg)。 //卸載 圖像 OpenCV 視頻 處理 流程 視頻 是由一幀幀的圖像構成的 ,對于視頻 的處理可以轉化成對于一系列圖像的處理,一般可按如圖 所示的 基本 過程來 實現(xiàn) :( 1) 加載需要處理的 視頻 文件 ,對于avi 視頻 文件可使用函數(shù) cvCaptureFromFile 來加載,如果要從攝像頭實時捕獲視頻則要 用函數(shù) cvCreateCameraCapture 來創(chuàng)建攝像頭;( 2)使用 cvQueryFrame 從 前面已經(jīng)創(chuàng)建的 Capture 中抓取一幀圖像,如果抓取不成功則說明 視頻 處理 完備, 此時要用函數(shù) cvReleaseCapture 卸載 視頻文件,否則對所抓取的圖像進行 所 要求 的 處理 ; ( 3)對圖像處理的 結果 進行可視化顯示或保存 ,可 使用 cvShowImage 函數(shù)對處理 結果進行顯示和 使用 cvSaveImage 函數(shù)將 結果 圖像保存到相應位置 , 此外還可以使用cvWriteFrame 函數(shù) 把所有處理的 結果 保存成一個 AVI 視頻文件;( 4) 卸載加載的圖像 , 這可以用函數(shù) cvReleaseImage 進行實現(xiàn)。 視頻加載抓取圖像結果顯示 、 保存卸載圖像圖像處理抓取成功與否YNcvCaptureFromFilecvCreateCameraCapturecvQueryFramecvShowImagecvSaveImagecvWriteFramecvReleaseImage圖像處理算法抓取成功與否YN視頻處理結束卸載視頻視頻處理結束cvReleaseCapture 圖 OpenCV視頻處理基本流程 如下 的示例代碼是使用 OpenCV 從攝像 頭或者視頻文件捕獲視頻流數(shù)據(jù),把它轉化成灰度圖像 后 對處理 結果 進行顯示 和 保存 。從 這個實例我們可以 看出 :使用 南華大學計算機科學與技術學院畢業(yè)設計(論文) 13 OpenCV可以 很簡單的實現(xiàn)對 視頻數(shù)據(jù) 的 讀取 操作和顯示保存操作。 CvCapture* pCapture = NULL。 //定義 cvCapture 結構 pCapture = cvCreateCameraCapture(0)。 //從 攝像頭獲取視頻流 //pCapture = cvCaptureFromFile(“D:\\”)。 //從 AVI 視頻文件獲取視頻流 IplImage* colorImg = NULL。 //定義 IplImage 型變量 IplImage* grayImg = NULL。 CvVideoWriter* pVideoWriter = NULL。 int N = 0。 while(1) { N++。 colorImg = cvQueryFrame(pCapture)。 //抓取 一幀圖像 if(N==1) pVideoWriter =cvCreateVideoWriter(, CV_FOURCC(39。X39。, 39。V39。, 39。I39。, 39。D39。), 25,cvSize(colorImgwidth,colorImgheight))。 if (colorImg
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1