2013-04-12 38 views
12

Android için http://www.youtube.com/watch?v=zjxWpKCQqJc gibi bir şey uygulamaya çalışıyorum. İşteAndroid OpenCV Nesne Algılama

kodum:

public Mat onCameraFrame(CvCameraViewFrame inputFrame) { 
    Mat novo = new Mat(); 
    Mat resp = new Mat(); 
    Mat homer = new Mat(); 

    //resp = inputFrame.gray(); 
    novo = inputFrame.gray(); 

    Mat lido = new Mat(); 
    try { 
     lido = Utils.loadResource(this, R.drawable.homer); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    Imgproc.cvtColor(lido, homer, Imgproc.COLOR_RGB2GRAY); 

    FeatureDetector surf = FeatureDetector.create(FeatureDetector.FAST); 

    MatOfKeyPoint keypointsHomer = new MatOfKeyPoint(); 
    MatOfKeyPoint keypoints = new MatOfKeyPoint(); 

    surf.detect(homer, keypointsHomer); 
    surf.detect(novo, keypoints); 

    DescriptorExtractor SurfExtractor = DescriptorExtractor.create(FeatureDetector.SURF); 

    Mat descriptors = new Mat(); 
    Mat homerDescriptors = new Mat(); 

    SurfExtractor.compute(novo, keypoints, descriptors); 
    SurfExtractor.compute(homer, keypointsHomer, homerDescriptors); 

    DescriptorMatcher m = DescriptorMatcher.create(DescriptorMatcher.BRUTEFORCE); 
    MatOfDMatch matches = new MatOfDMatch(); 

    m.match(descriptors, homerDescriptors, matches); 

    Features2d.drawMatches(novo, keypoints, homer, keypointsHomer, matches, resp); 

    return resp; 
} 

Ve aşağıdaki hata var: ben böyle keypoints çizmek çalışırsanız https://dl.dropboxusercontent.com/u/2345114/error_android.png

:

Features2d.drawKeypoints(novo, keypoints, resp); 
Features2d.drawKeypoints(homer, keypointsHomer, resp); 

Hem çalışıyor! Neyi yanlış yapıyorum?

cevap

3

Sonunda bunu bitiriyorum!

Bu, son sonucu olan bir bağlantıdır.

Simpson Detector (OpenCV)

Google bu proje hakkında daha fazla ayrıntı görmek ve kaynak kodu indirebilirsiniz Play'deki bu, bir şekilde size yardımcı olur umarım. Bana e-posta yollamaktan çekinmeyin. Sorun başka bir şekilde yuvarlattım. Sanırım Features2d.drawMatches android üzerinde çalışmıyor. Muhtemelen sadece JVM ile ve Android'de bulunmayan Bileşenler ile çalışır. Herhangi biri onaylayabilirse minnettarım.

Google, uygulamayı kaldırdı ve nedenini söylemedi! = ( Ama kaynak kodu sitemde apk'de birlikte kullanılabilir

quintao.info


Sonuç:! https://www.youtube.com/watch?v=h2KHje-Pf10

Kaynak:! github.com/raphaelquintao/SimpsonDetector

ben yardımcı umut

+4

Sorunu kendiniz çözdüyseniz, çözümün ne olduğunu postalamaya dikkat edin oldu? Ayrıca: Bağlantınız artık çalışmıyor. Uygulamanızın artık Google Play'de bulunmaması gibi görünüyor. – pocmo

+1

Aksini yaptım. Uygulamanın neden Google Play'den kaldırıldığını bilmiyorum ama öyleydi. Web sitemde kaynak koduna bir link var ve apk dahil. http://quintao.info Yardımcı olmak dileğiyle! = D –

+0

Hey, orada yaptın güzel iş! Farklı simpson insanlar arasındaki farkı nasıl yaptığınızı sormak isterim. Dedektör gibi bir şey yapmaya çalışıyorum ama araba parçaları için. Direksiyon simidi ve araba tekerleği arasında fark yaratmam gerekiyor. Bana bir şey önerir misin lütfen? – definera