Android 용 openCV를 사용하여 로고 감지 알고리즘을 구현하고 있습니다. 내 목표는 이제 안드로이드 카메라로 찍은 사진에서 미리 정의 된 로고를 찾는 것입니다.android 용 openCV를 사용할 때 정확한 FAST-SURF 일치 항목을 찾을 수 없습니다.
필자는 어떤 것이나 일치하는 것을 얻을 수 없다. 나는 거의 openCV 라이브러리 함수 만 사용하고 있다는 것을 고려할 때 매우 이상하다고 생각한다.
먼저 FAST 검출기를 사용하여 키포인트를 감지합니다. 내 이미지의 크기는 500x500입니다. 이후에이 키포인트를 설명하기 위해 서프를 사용합니다. with knn 나는 2 개의 최상의 성냥을 요청하고, A의 비율이 0.6보다 작지 않은 사람들을 쫓아냅니다 (first.distance/second.distance).
나는 약 10 일치 받고 있어요,하지만 그들은 내가 모든 경기 (100 +)를 그릴 때, 그들은 모두
내가 잘못 여기서 뭘하는지 볼 수없는 잘못된 것 같다, 모든 잘못 , 누구든지 같은 문제가 있거나 내가 뭘 잘못하고 있는지 알아?
FeatureDetector FAST = FeatureDetector.create(FeatureDetector.FAST);
// extract keypoints
FAST.detect(image1, keypoints);
FAST.detect(image2, logoKeypoints);
DescriptorExtractor SurfExtractor = DescriptorExtractor
.create(DescriptorExtractor.SURF);
Mat descriptors = new Mat();
Mat logoDescriptors = new Mat();
SurfExtractor.compute(image1, keypoints, descriptors);
SurfExtractor.compute(image2, logoKeypoints, logoDescriptors);
List<DMatch> matches = new ArrayList<DMatch>();
matches = knn(descriptors, logoDescriptors);
Scalar blue = new Scalar(0, 0, 255);
Scalar red = new Scalar(255, 0, 0);
Features2d.drawMatches(image2, logoKeypoints, image1, keypoints,
matches, rgbout, blue, red);
SURF 키포인트에서 SURF 기능을 사용해 보셨습니까? –
knn 함수 란 무엇입니까? 올바르게 구현 되었습니까? –
내가 거의 모든 조합 ... 이 SURF-SURF FAST-SURF ... 모든 조합이 같은 문제가를 SIFT-SIFT를 시도했다. knn 함수를 사용하면 2 개의 최상의 일치 항목을 얻을 수 있습니다.이 두 항목을 비교하면 실제로 건너 뛰는 일치 항목을 찾을 수 있으며 진정한 긍정을 얻을 수있는 최고의 기회를 얻을 수 있습니다 – piepie