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

正文內(nèi)容

畢業(yè)論文設計_基于快匹配的人群運動估計-資料下載頁

2025-08-21 19:54本頁面

【導讀】等方面都有著重要的應用價值。隨著經(jīng)濟社會的發(fā)展,各種公共場地和設施中的人群流動越來越頻繁。合的人群進行有效管理與控制,是不得不考慮的重大問題。智能化人群監(jiān)控技術應運而生,它主要包括人群的密度估計和運動估計兩部分內(nèi)容。本文著手解決人群運動估計這一塊,全以及建筑設計領域等。它們能夠直接或間接地提高上述場合工作人員的工作效率和建筑。OpenCV與塊匹配各重要環(huán)節(jié)有具體分析。

  

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