Visualizzazione stampabile
-
Riconoscimento immagini
Salve ragazzi, e buona domenica a tutti!
Avrei una domanda da sottoporvi, sarei interessato a realizzare un applicazione per android che riesca ad identificare le immagini simili, ad esempio seleziono dalle foto presenti sul dispositivo una prima foto che sarà quella di riferimento, ed una seconda foto che sarà quella con la quale la voglio confrontare. La mia intenzione è che l'applicazione mi dica se le due immagini siano simili o meno.
Questa è l'idea di base dell'applicazione... Ho cercato su internet ed ho visto che esistono delle librerie ed in particolare mi sono focalizzato su una che si chiama OPEN CV non so se avete mai sentito.
Ho realizzato alcuni progetti d'esempio però non sono riuscito a venire fuori....
Qualcuno di voi ha realizzato un' applicazione del genere? Se si, su quali librerie vi siete basati?
Grazie anticipatamente a tutti voi per la vostra disponibilità
Saluti a tutti
-
Ciao, credo che per quello che tu debba fare le opencv siano lo strumento migliore; ci ho programmato diversi anni fa ormai e non so quale sia l'ultima versione e le loro compatibilità con android.
Ai tempi di quando le usavo io la maggiore fonte di informazioni era il forum; generalmente venivano prese in considerazione tutte le richieste degli utenti anche se spesso, anche per via della lingua, alcuni aspetti rimanevano inevasi. Non so quele sia lo stato attuale.
Prima di procedere ti consiglio di definire bene il tuo obiettivo; ci sono diverse modalità/algoritmi con cui un'immagine puo' essere confrontata con un'altra. si spazia da semplici algoritmi di confronto dell'istogramma a cose più complesse.
La strada sembra quella giusta am dipende d a quello che vuoi fare e anche da come...
Alla prossima
-
Buongiorno RmarcoR,
Ho provato a seguire il forum e gli algoritmi di ricerca che ho provato sono il SURF detection ed il FAST detection. Il primo poi l'ho abbandonato perchè non può essere utilizzato nei progetti ad uso commerciale.
Volevo chiederti se, in base alle tue esprienze passate di programmazione con le opencv, potresti farmi una sorta di workflow per configurare correttamente l'ambiente di sviluppo (io utilizzo eclipse) e se avevi quelche progettino d'esempio (dei piu semplici) per l'identificazioned di immagini in quanto dal formum ho preso il codice però non ho ottenuto i risultati sperati...
Ti ringrazio anticipatamente per la disponibilità
Saluti
Andrea
-
Ciao, purtroppo su questo non posso esserti d'aiuto in quanto lavoravo in c++ e i miei programmi erano più sull'elaborazione di video che singole immagini...
Quello che ti posso dire è di cercare online in quanto ci sono molti esempi in giro che non sono ripresi dal forum stesso; ti riporto questo sito come esempio.
Using OpenCV with Eclipse (plugin CDT) ? OpenCV 2.4.6.0 documentation
anbche io avevo avuto difficoltà nell'iniziare...ti consiglio di non mollare e di continuare a cercare in quanto sono molto utilizzate e i tuoi problemi, spesso, sono già stati affrotnati da qualcuno.
Fammi sapere.
-
ok, ci proverò.
Ti ringrazio ancora!!
-
Per prima cosa devi linkare le librerie...per questo ci sono molti tutorial, prova a guardare opencv Italia...Io avevo fatto un programmino che prendeva in input dalla webcam un ciclo continuo di frame e li confrontava finche non trovava una differenza e la salvava...però è in c non so se può esserti utile.
Comunque prova a guardare anche tra gli esempi che ci sono nella cartella opencv
-
Ciao Gegio18
sono riuscito a trovare alcune informazioni su come configurare il tutto per java, adesso mi resta il di implementare il codice che, date due immagini, confronta se sono simili/uguali o meno.
Questa sera proverò a cercare di scrivere qualcosa e vedremo ;) ...
-
Fammi sapere come va che anche io sono interessato alla programmazione con opencv ;)
-
Salve ragazzi!
Dopo le diverse prove di ieri sera sono ancora qui a chidervi dei chiarimenti.
Ho provato a seguire queste due guide
Introduction into Android Development ? OpenCV 2.4.6.0 documentation
Android Development with OpenCV ? OpenCV 2.4.6.0 documentation
però adesso sono un po confuso, infatti vedo che ci sono delle parti in cui si fa riferimento a del codice in c/c++ ed altre si fa riferimento a Java...
Qualcuno potrebbe darmi delucidazioni sul "confine" tra le due cose? Ovvero quali parti devo seguire per poter compilare le applicazioni di esempio?
Perche nelle applicazioni di esempio infatti ricevo degli errori riguardo alle librerie open cv che non vengono trovate.
Vi ringrazio ancora una volta per i vostri aiuti.
-
Ciao,
da quello che leggo mi sembra di capire che uno dei requisiti fondamentali per approcciarsi a questo mondo sia la programmazione android; hai configurato un ambiente fuinzionante do ve eseguire i test ?
in aggiunta a questo si devono integrare le librerie; prova a vedere qui.
OpenCV4Android SDK ? OpenCV 2.4.6.0 documentation
il fattto che si faccia riferimento al c++ è normale dal momenot che queste librerie sono state sviluppate in questo linguaggio.
Purtroppo non riesco a supportarti nella configurazione dell'ambinete di lavoro oltre che cercare online in quanto non mi sono ancora cimentato con questo tipo di programmazione. Comunque fammi sapere come va.
-
Si, l'ambiente per sviluppare app in adroid è configurato correttamente anche perchè ne ho create diverse senza troppi problemi.
Cmq ti ringrazio ancora per il tuo aiuto, appena posso provo a seguire anche la tua guida!
-
Prova a seguire qualche video su youtube non mi fa copiare il link ma basta che scrivi configurare eclipse opencv...Ti da l'errore perchè probabilmente non hai linkato bene le librerie..io c'ho messo un sacco di tempo per riuscire ad includerle bene
-
infatti la difficoltà principale è partire...anche io a suo tempo ne avevo trovate diverse...come prova lanciavo la compilaizone di main vuoti con la sola inclusione delle librerie per testarne la corretta inclusione...da li i passi successivi sempre step by step per controllare eventuali errori e dove si presentavano...
Il procedimento è un po' macchinoso ma poi funziona...
Alla prossima
-
ho trovto questa guida che è per prodotti sony ma non credo ci siano differenze; ci dovrebbero anche essere esmepi funzionanti...
mi sa che di carne al fuoco ce ne è a sufficienza...
Ciao
Get started with OpenCV on Android? ? Developer World
-
Buongiorno a tutti,
dopo qualche giorno ieri sera sono riuscito a mettermi un po davanti al pc e grazie a questa guida https://www.youtube.com/watch?v=qsgY3zcR4bU sono riuscito a configurare correttamente l'ambiente di lavoro e le applicazioni contententi opencv adesso compilano correttamente.
Il problema che devo affrontare ora è capire per quale motivo quando lancio l'applicazione di esempio e viene avviato l'emulatore, dopo un po nel log vedo che c'è un errore nell'installazione dell .apk
Il mio dubbio è che sia dovuto al fatto che non sono riuscito ad esguire l'ultima parte della guida ovvero la configurazione del builder setting di C/C++ (questo perche quando faccio tasto destro sul progetto, non ho l'opzione c/c++).
Appena avrò altro tempo proverò a lanciare un'applicazione semplicissima e cosi vedrò se il problema è dovuto alla configurazione o ad altro...
-
Buongiorno ragazzi!
Ho ancora bisogno di voi in quanto ho alcune difficoltà con Eclipse. Mi trovo a dover importare nell'applicazione i moduli fondamentali di openCV e quindi ho la necessità di includere dei file .h nel progetto. In particolare dovrei includere diveresi file (ad esempio core.h, feature2d.h e via dicendo) ma il problema è che essendo dei file NON Jar non riesco a riferirili nel progetto. Ho provato anche a scaricare una libreria di openCV in formato Jar però questa contiene solo file .class o file.java e non contiene gli header.
Ho provato a seguire una guida dove dice di "convertire" il progetto android in uno c/c++ ma comunque non sono riuscito a raggiungere il mio obiettivo. Ho dimenticato di dire che sto implementantdo il codice di openCV in C++ sfruttando JNI.
Potete darmi una mano ad includere questi file nel progetto?
Vi ringrazio tutti per la disponibilità!!!
-
Ciao, non sta tutto qui ??
Android Development with OpenCV ? OpenCV 2.4.6.0 documentation
Come ti diveco la volta scorsa io lavoravo in C++quindi questo problema non mi si era presentato...
-
-
Ho importato il progetto OpenCv Library nell'applicazione e questo funziona corretamente lato java però visto che il codice per l'elaborazione delle immagini dovrei scriverlo in c++, da quest'ultimo dovrei includere i file .h.
Forse dovrei provare ad inserire questo codice
include $(CLEAR_VARS)
# OpenCV
OPENCV_CAMERA_MODULES:=on
OPENCV_INSTALL_MODULES:=on --questa dovrebbe fare la differenza??
include ../../sdk/native/jni/OpenCV.mk
-
Buonasera ragazzi!
Fino a poco fa ho fatto altre prove ed ho scoperto una cosa un po strana...
Nel file Android.mk c'è il riferimento al modulo che verrà creato una volta eseguito il build, questo file può essere scritto in c o c++ ( parlo sempre di JNI)
ed ho scoperto che se questo file è di tipo c, allora riesco ad includere i riferimenti alle librerie di opencv come ad esempio il core, se invece il file è di tipo c++, le stesse librerie, nelle stesse posizioni, non vengono incluse perchè il compilatore non riesce a trovarle... o_O
Farò altre prove, anche se la cosa inizia ad essere frustrante in quanto è una settimana che provo a configurare l'ambiente di sviluppo in modo che tutte le componenti riescano ad interfacciarsi correttamente tra di loro... non voglio pensare a quando sarà il momento di scrivere il codice dell'applicazione:O
Grazie a tutti per l'attenzione e buona notte!!!!;)
-
le difficoltà che incontri sono del tutto normali...io purtroppo non posso esserti molto d'aiuto in quanto lavoravo in ambienti del tutto diversi ( e poi sono passati doversi, troppi anni). Pero' se lasci ora faresti una c@@@@@ssata (mi prendo la confidenza) perchè già in uno dei primi thread era emersa la difficoltà nella configurazione corretta di un ambiente di lavoro...uno volta fatto funzionare le librerie swoon uno strumento potente che difficilmente riesci a sostituire...
Alla prossima
-
Salve ragazzi,
potete darmi qualche delucidazione su questo errore ?
$ /cygdrive/c/android-ndk-r8e/ndk-build
Compile thumb : ndkdetection <= ndkdetection.c
jni/ndkdetection.c:4:48: fatal error: native/include/opencv2/core/core.hpp: No such file or directory
compilation terminated.
/cygdrive/c/android-ndk-r8e/build/core/build-binary.mk:269: recipe for target `obj/local/armeabi/objs/ndkdetection/ndkdetection.o' failed
make: *** [obj/local/armeabi/objs/ndkdetection/ndkdetection.o] Error 1
per il primo ho capito che non trova il file che cerco di inclusione, ma il secondo errore?
Comunque vi posto il file Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Here we give our module name and source file(s)
LOCAL_MODULE := ndkdetection
LOCAL_SRC_FILES := ndkdetection.c
include $(BUILD_SHARED_LIBRARY)
ed il file ndkdetection.c
#include <string.h>
#include <jni.h>
#include <stdio.h>
#include "native/include/opencv2/core/core.hpp"
-
Ragazzi salve a voi ancora una volta...
Visto che non sono ancora riuscito a venirne fuori, ho pensato di procedere a piccoli passi, quindi vi chiedo, potete spiegarmi a cosa serve configurare il builb path in eclipse e qual'è il principio che c'è dietro?
-
Ragazzi Buongiorno a tutti!!!
Volevo solo avvisare tutti quelli che hanno seguito le mie "sofferenze" e difficoltà di questi giorni per configurare OpenCV, che sono finalmente riuscito a configurare il tutto in modo che funzioni tutto per il meglio!
Grazie ancora a tutti per il vostro aiuto!!!
Alla prossima!!
-
bene...avevamo ragione quando ti consigliavamo di non mollare.
Una cortesia; potresti fare un riassunto di quello che hai fatto per confrigurare il tutto e delle difficoltà che hai incontrato ? Potrebbe essere utile per altri utenti...
Alla prossima
-
Un piccolo riassunto delle operazioni che ho fatto può essere questo:
Per la configurazione di eclipse per OpenCv ho seguito questo video
https://www.youtube.com/watch?v=qsgY3zcR4bU
Dopo aver configurato eclipse, lanciando l’applicazione si avrà una finestra che chiederà di installare il package OpenCV, cliccare su si ed installarlo.
Se l’installazione dovesse fallire, occorre scaricare il manager di openCV necessario a far funzionare le applicazioni es: org.opencv.engine_293.apk e installarla tramite il comando adb install (Si trova nell'sdk di eclipse)
Se tutto è andato bene dovrebbe venire fuori la scritta SUCCESS che indica la corretta installazione del package
Dopo aver fatto tutto ciò, ho seguito le varie guide per utilizzare il codice nativo c++ in android ad esempio
http://mhandroid.wordpress.com/2011/...c-development/
da qui in poi erano iniziati i miei problemi, ovvero i file che includevo di OpenCV non venivano trovati dal compilatore e per risolvere questo problema, ho inserito all'interno del workspace contenente tutti i progetti, l'sdk di openCV http://sourceforge.net/projects/open...android/2.4.6/ e da qui in poi non ho avuto piu problemi di inclusione file.
Spero di essere stato d'aiuto a qualcuno...
saluti
andrea