を説明し、私はこのアルゴリズムが知られているものであるかどうかを知る必要があります。はこのアルゴリズム(SURFアルゴリズムでポイントを比較)
void getMatches(IpVec &ipts1, IpVec &ipts2, IpPairVec &matches, float ratio) {
float dist, d1, d2;
Ipoint *match;
matches.clear();
for (unsigned int i = 0; i < ipts1.size(); i++) {
d1 = d2 = FLT_MAX;
for (unsigned int j = 0; j < ipts2.size(); j++) {
dist = ipts1[i] - ipts2[j];
if (dist < d1) // if this feature matches better than current best
{
d2 = d1;
d1 = dist;
match = &ipts2[j];
} else if (dist < d2) // this feature matches better than second best
{
d2 = dist;
}
}
// If match has a d1:d2 ratio < 0.65 ipoints are a match
if (d1/d2 < ratio) {
// Store the change in position
ipts1[i].dx = match->x - ipts1[i].x;
ipts1[i].dy = match->y - ipts1[i].y;
matches.push_back(std::make_pair(ipts1[i], *match));
}
}
}
class Ipoint {
public:
//! Destructor
~Ipoint() {
};
//! Constructor
Ipoint() : orientation(0) {
};
//! Gets the distance in descriptor space between Ipoints
float operator-(const Ipoint &rhs) {
float sum = 0.f;
for (int i = 0; i < 64; ++i) {
//std::cout << i << "\n";
try {
sum += (this->descriptor[i] - rhs.descriptor[i])*(this->descriptor[i] - rhs.descriptor[i]);
} catch (char *str) {
std::cout << "Caught some other exception: " << str << "\n";
}
}
return sqrt(sum);
};
//! Coordinates of the detected interest point
float x, y;
//! Detected scale
float scale;
//! Orientation measured anti-clockwise from +ve x-axis
float orientation;
//! Sign of laplacian for fast matching purposes
int laplacian;
//! Vector of descriptor components
float descriptor[64];
//! Placeholds for point motion (can be used for frame to frame motion analysis)
float dx, dy;
//! Used to store cluster index
int clusterIndex;
};
これは、SURFアルゴリズムの結果を比較します。
- これは最近傍アルゴリズムですか。それは、関数がすべての点の最も近い点を探索しているように見えます。
- Quadtreeまたはkd-treeを使用して同じことを実行できますか?
- イメージポイントと比較して、それらが同じか類似しているかどうかを確認するアルゴリズムがありますか?
- 私はそれらをmysqlに保存し、すべての画像を通して1つの画像を比較するkdツリーを構築したいと思いますか?
- RANSACはこのタスクの何かに役に立ちますか?
- 偽陽性を検出する方法はありますか?
私はあなたの最後のコメントに投票しました。答えが不要で時間もありませんでした。 – Wiliam
http://stackoverflow.com/questions/5962131/c-application-collapsing-after-some-hoursにはフォローアップが必要です。 –