您好,登錄后才能下訂單哦!
OpenCV中的基礎(chǔ)數(shù)據(jù)類型是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
下面我們主要介紹下OpenCV中常見的8大基礎(chǔ)數(shù)據(jù)類型及其支持的操作。
作為OpenCV的基本類型,Point類可能是最簡單的,雖然比較簡單,但是熟悉opencv的你,并不一定對它很了解,特別是它的一些操作。
該類是基于一個基礎(chǔ)模板結(jié)構(gòu)而創(chuàng)建的,所以它能成為任何類型的點(diǎn),比如整型,浮點(diǎn)型等。直接受Point類支持的操作如下:
Scalar是四維點(diǎn)類,與其他類型類似,它實(shí)際上與一個模板類相關(guān),但訪問它的別名返回一個該模板的實(shí)例。模板中,所有成員都是雙精度浮點(diǎn)型數(shù)據(jù)。在計(jì)算機(jī)視覺算法中,Scalar類有一些與四元向量相關(guān)的特殊成員函數(shù),下表列舉了一些Scalar支持的操作:
size類在實(shí)際操作中和Point類相似,而且可以與Point類互相轉(zhuǎn)換,兩者的主要區(qū)別是Point類的數(shù)據(jù)成員是x和y,而size類的數(shù)據(jù)成員是width和height。size類有三個別名,分別是Size,Size2i,Size2f,前面兩個是等價的,表示整數(shù)大小,最后一個表示32位浮點(diǎn)大小。下表列出了size類支持的操作:
Rect類包含Point類的成員x和y(代表矩形的左上角頂點(diǎn))以及size類的成員width和heigth(代表矩形的寬和長)。下表是列出了Rect類所支持的操作: 另外Rect類還支持一系列的重載操作符,可用于計(jì)算兩個矩形或者一個矩形等的各種各樣的幾何特性,如下:
RotatedRect類是一個包含一個中心點(diǎn)Point2f,一個大小Size2f和一個額外的float角度的容器。其中float的角度代表圖形繞中心點(diǎn)旋轉(zhuǎn)的角度。RotatedRect和Rect中有一個非常重要的不同點(diǎn)就是RotatedRect是以中心為原點(diǎn),而Rect是以左上角為原點(diǎn),下表列出了RotatedRect類所支持的操作:
固定矩陣類是為編譯時就已知維度的矩陣打造的,這也是稱之為“固定”的原因。由于它內(nèi)部的所有數(shù)據(jù)都是在堆棧上分配的,所以它們的分配和清除都很快。對固定類的操作運(yùn)行很快,而且還在小矩陣上做過特殊的優(yōu)化。通常,固定矩陣類實(shí)際上是一個模板,這個模板稱為Matx<>,但獨(dú)立的矩陣通常通過別名分配,這些別名的基礎(chǔ)格式為Matx{1,2,...}{1,2,...}{f,d},其中數(shù)字可以是1到6之間的任何數(shù)。 其支持的操作有:
固定向量類其實(shí)是從固定矩陣類派生而來的。固定向量類Vec其實(shí)就是一個列為1的固定矩陣類。為特定實(shí)例而準(zhǔn)備好的別名格式如下:
Vec{2,3,4,5,6}{b,s,w,I,f,d},
最后一個字符的意義跟前面一樣,其中w代表unsigned short,下表表示Vec支持的操作:
OpenCV中的復(fù)數(shù)類和STL中的復(fù)數(shù)類模板complex<>不一樣,但是可以互相轉(zhuǎn)換。最大的區(qū)別在于成員的獲取方式,STL類中的實(shí)部和虛部的獲取方式通過成員函數(shù)real()和imag()獲取,而在OpenCV中直接通過成員變量re和im獲取。支持的操作如下:
和很多基本類型一樣,復(fù)數(shù)類為重要的模板取了別名,如Complexf何Complexd分別表示單精度和雙精度復(fù)數(shù)的別名。
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。