私はこの変数を持っています
std::vector <cv::KeyPoint> X[e];
処理されたファイルの数として e を使用し、同様の「フィルター処理された」ベクトル変数
std::vector <cv::KeyPoint< Y[e];
検出された特徴のコンテナーとしてベクトル X を使用しました
int minHessian = 400;
cv::SurfFeatureDetector deteC( minHessian );
deteC.detect(f[z], X[z]);
どこ
cv::Mat f[e]
は画像のコンテナーで、z は単なるカウンターです。
次に、このシーケンスが開始されます
int kd = 0;
for(int dk = 0; dk < X[z].size(); dk++)
{
cv::KeyPoint s = X[z].at(dk);
qDebug() << fT << "KEYPOINT" << dk << "\nCLASS ID: " << s.class_id << "\nRESPONSE: "
<< s.response << "\nOCTAVE: " << s.octave
<< "\nSIZE: " << s.size << "\nANGLE: " << s.angle
<< "\nX: " << s.pt.x << " Y: " << s.pt.y;
if(s.octave > 2 && s.response > 5000.00)
{
s.class_id = e;
kd++;
// I plan to COPY s to Y[e].at(kd)
}
}
s を Y[e].at(kd) にコピーするにはどうすればよいですか? 回答ありがとうございます。=)