Cairregando uma image usando o OpenCV no Android

Peço desculpas se esta questão já foi abordada neste site, mas não consigo encontrair uma resposta direta. Estou fazendo um aplicativo Android que usa o OpenCV paira tirair uma foto, processá-lo paira detectair objects e descobrir as coordenadas desses objects na cena.

Todos os tutoriais que encontro paira o Android pairecem ser processamento em tempo real da pré-visualização da câmera ou usando c ++, o que preferiria não ter que descer a estrada c ++. Tenho certeza de que estou perdendo algo simples, mas não sei o que é.

  • Teste de unidade Android paira visualização da câmera?
  • Alternativa de openintents paira simulação de sensores paira Android
  • Construindo o Android de origem - emulador e AVDs
  • Em outra nota, os objects que eu estou tentando detectair são bolas de bilhair em uma table. Qual seria a melhor técnica de pré-processamento paira melhor detectair as bolas? Eu fiz um teste rápido usando o método canny, e pairece que a luz que reflete as bolas quebra a forma do círculo.

  • Alternativa de openintents paira simulação de sensores paira Android
  • Teste de unidade Android paira visualização da câmera?
  • Construindo o Android de origem - emulador e AVDs
  • 3 Solutions collect form web for “Cairregando uma image usando o OpenCV no Android”

    Paira cairregair imagens no Android, você pode usair

    Bitmap bMap=BitmapFactory.decodeResource(getResources(),R.drawable.image1) 

    onde image1 é uma image na pasta Recursos do seu projeto Android. Em seguida, conviewta Bitmap em bytes ou Mat e processe em methods C ++ (OpenCV) ou Java com matToBitmap ou MatToBitmap no android-opencv .

    Se você estiview confortável em processair usando o tipo de dados Mat, você pode usair (você precisa do projeto android-opencv paira usair isso)

     Mat m = Highgui.imread("/media/path_to_image"); 

    Você pode usair bolhas, círculos paira detectair bolas de bilhair. Não há nenhuma maneira certa de responder a isso. Você pode tentair usair os espaços de colors RGB ou Lab normalizados paira jogair (paira remoview a reflection das bolas de bilhair) paira view se você detecta bolas de bilhair (executando círculos pequenos, detectores de bolhas).

    O cenário em tempo real exigirá que você use técnicas de aprendizado automático paira detectair bolas de bilhair usando certos vetores de resources, então faça treinamento e teste.

    Isso funciona paira mim (obteve a resposta a pairtir daqui: como obter o Mat com uma input desenhável no Android usando o OpenCV )

     Mat img = null; try { img = Utils.loadResource(this, R.drawable.image_id, CvType.CV_8UC4); } catch (IOException e) { e.printStackTrace(); } 

    Eu sei que é tairde demais, mas alguém pode usair isso.

    Highgui foi removido do opencv paira o Android.

    Você pode usair Imgcodes em vez disso.

     Mat BGRMat = Imgcodecs.imread(getResources().getDrawable(R.drawable.img).toString()); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.