vector詳細
1030 ワード
vectorというものは長い間探していましたが、ネットでvectorを紹介しているものが多いですが、データ型についてはPoint 2 d、Point 2 i、Point 2 fという資料がいいです.
まず基本的な概念を紹介します.
Point 2 i--保存されている数値を示すintタイプですね.
Point2f——float
Point2d——double
ここで私は自分のプロジェクトで使ったものに基づいて説明します.もちろん、私の大好きな手法:実例で、問題を説明します.
例:得られた「画像矩形枠の左上隅座標とその幅と高さ」をcenters(画像枠の中心点座標を保存)に保存する方法.
特别说明:.br()は保存(x+width,y+height)を表す
.tl():保存(x,y)を表す
(r.br()+r.tl()*0.5は長方形の枠線の中心点にちょうど等しい
では、1つの座標のx,yを単独で操作するにはどうすればいいのでしょうか.
やはり上の例を使います.
さあ、思う存分操作できますが、、、
まず基本的な概念を紹介します.
Point 2 i--保存されている数値を示すintタイプですね.
Point2f——float
Point2d——double
ここで私は自分のプロジェクトで使ったものに基づいて説明します.もちろん、私の大好きな手法:実例で、問題を説明します.
例:得られた「画像矩形枠の左上隅座標とその幅と高さ」をcenters(画像枠の中心点座標を保存)に保存する方法.
vector centers;
double x = p[0]; // x
double y = p[1]; // y
double w = p[2]; //
double h = p[3]; //
Rect r(x, y, w, h); //
centers.push_back((r.br() + r.tl())*0.5);//br():(x+width, y+height) tl():(x,y)
特别说明:.br()は保存(x+width,y+height)を表す
.tl():保存(x,y)を表す
(r.br()+r.tl()*0.5は長方形の枠線の中心点にちょうど等しい
では、1つの座標のx,yを単独で操作するにはどうすればいいのでしょうか.
やはり上の例を使います.
for (int i = 0; i double a = centers[i].x;// i x
double b = centers[i].y;// i y
}
さあ、思う存分操作できますが、、、