그래서 FAST 감지기와 FREAK 설명자를 사용하여 응용 프로그램을 만들고 있습니다. 그것이 일치에 관해서는 BRUTEFORCE_HAMMING 매칭을 사용하고 싶었지만 기대 한 결과를 얻지 못했습니다 (원본과 아무런 관련이없는 이미지와 비슷하게 보이는 이미지, 그 다음 비슷하게 보이는 이미지)FREAK 설명자를 찾는 가장 좋은 방법은 무엇입니까?
시도해 보았습니다. 다음 코드
MatOfDMatch matches = new MatOfDMatch();
matcher = DescriptorMatcher.create(DescriptorMatcher.BRUTEFORCE_HAMMING);
matcher.match(descriptors,descriptors1,matches);
MatOfDMatch goedematches = new MatOfDMatch();
double max_dist = 0;
double min_dist = 100;
//if (descriptors.cols() == descriptors1.cols())
//{
for(int i = 0; i < descriptors.rows(); i++)
{ double dist = matches.toArray()[i].distance;
if(dist < min_dist) min_dist = dist;
if(dist > max_dist) max_dist = dist;
}
// should only draw good matches
for(int i = 0; i < descriptors.rows(); i++)
{ MatOfDMatch temp = new MatOfDMatch();
if(matches.toArray()[i].distance <= 2*min_dist)
{ temp.fromArray(matches.toArray()[i]);
goedematches.push_back(temp);
}
// }
}
Log.d("LOG!", "Number of good matches= " + goedematches.size());
그러나 "나쁜"결과가 나타납니다. 그래서 내 질문은, FREAK 설명자와 일치하는 다른 방법이 있습니까? (OpenCV Library 2.4.4와 자바 래퍼를 사용하므로 C 코드는 사용하지 않습니다.)
키포인트를 두 이미지에 모두 그리는 방법을 알고 있지만 이미지를 연결하는 방법은 알지 못합니다. 이 작업을 수행하는 방법에 대한 아이디어가 있습니까? – user1393500
두 이미지를 매트릭스에 나란히 그려서 점 사이에 선 (cv :: line)을 그립니다. – JonesV