OpenCV3 0基本型別初探(二)

2021-07-05 10:23:08 字數 3004 閱讀 4786

point是cv中最基本的型別,其表示乙個單個的點,檔案中宣告如下

template

<

typename

_tp>

class

cv_exports

point_

;另外也有一些為了方便使用而設定的型別名

typedef point_point2i;

typedef point_point2f;

typedef point_point2d;

typedef point2i point;

所以說一般我們所使用的point接受的都是int引數

其運算方面支援

+ - 和另乙個點

* / 和乙個常數(double flost 或者int) 

和point_類似,point3_定義了乙個三維空間中的點 

除了多一維度沒有什麼不同

點積公式為(x*pt.x + y*pt.y + z*pt.z);

叉積公式為(y*pt.z - z*pt.y, z*pt.x - x*pt.z, x*pt.y - y*pt.x)

同樣也有一些方便使用而設定的型別

typedef

point3_

<

int>

point3i

;typedef

point3_

<

float

>

point3f

;typedef

point3_

<

double

>

point3d

;表徵 乙個具有一定大小的區域,和point類似,只有兩個量,但是其意義表示是

width還有

height

typedef

size_

<

int>

size2i

;typedef

size2i

size

;typedef

size_

<

float

>

size2f

;幾種型別方便使用。

提供area函式返回size表徵的面積

templateinline

_tp size_<_tp>::area() const

表示乙個矩形區域

基本建構函式為

rect_

(_tp_x,

_tp_y

,_tp

_width

,_tp

_height

);可見 其需要提供乙個初始點以及乙個固定範圍構成

當然,也可以通過傳入乙個point和乙個size完成rect的構造

rect_

(const

point_

<

_tp>&

org,

const

size_

<

_tp>&

sz);

以及通過兩個point描述rect

rect_

(const

point_

<

_tp>&

pt1,

const

point_

<

_tp>&

pt2);

其也提供類似szie中的area方法。

需要注意的是 rect的建立並不會對引數是否合法進行檢查,所以請確信自己建立引數是正確的

另外對於contain方法,預設其左上角的點(初始點是包含的)但是右下角(結束點)是不包含在區域之中的

其判別式為

x <= pt.x && pt.x < x + width && y <= pt.y && pt.y < y + height;

以及一些加減操作的過載:

由點和區域表示的 rect雖然簡單,但是也有著很明顯的缺陷,比如說使用者想要表示乙個旋轉了一定角度的矩形

這時候就必須將整個影象進行一次旋轉操作得到?顯然在旋轉矩形需求比較大的時候這樣的設計思路並不合理

所以cv還給出了一種特殊的矩形

這個類描述了旋轉之後的矩形 

帶參建構函式有如下三種

rotatedrect

(const

point2f

¢er,const

size2f

&size

,float

angle

);rotatedrect

(const

cvbox2d

&box

);rotatedrect

(const

point2f

&point1

,const

point2f

&point2

,const

point2f

&point3

);指定乙個普通的rect引數以及乙個旋轉量確定rrect時候其旋轉將會以rect的中心為旋轉點

提供迭代演算法的終止條件

分為迴圈次數和誤差兩種條件

c++:

termcriteria::

termcriteria

(int

type

, int

maxcount

, double

epsilon

)parameters:

變數和基本型別二

1.宣告和定義 為了讓多個檔案訪問相同的變數,c 區分了宣告和定義。定義 用於為變數分配儲存空間,同時為變數指定初始值。乙個程式中變數有且只有乙個定義。1.1 extern 宣告 用於向程式表明變數的型別和名字。定義也是宣告,定義變數時宣告了它的型別和名字。可以使用extern 關鍵字宣告變數名而不...

ruby的基本型別 二

陣列常見運算方法 追加元素 例如 1,2 3 返回 1,2,3 串聯方法 合併兩個陣列 例如 1,2 3,4 返回 1,2,3,4 陣列差集 刪除比較陣列中出現的元素 例如 1,2,3 3,4 返回 1,2 陣列交集 例如 1,2,3 3,4 返回 3 陣列並集 例如 1,2,3 3,4 返回 1,...

PHP資料型別(一)基本型別(一)標量型別(二)

1 可以儲存任意字元,必須括在定界符之間 2 不參加數 行的數字歸為字元型。如qq號等 3 一條語句中不能同時出現兩對一樣的定界符。如若需要,其中一對須轉義符替換 4 定界符 1.單引號 a.只解析 和 b.其內的變數不能被解析2.雙引號 a.解析所有轉義符 b.其內的變數可以被解析 通過 將變數名...