Italian Un'insolita richiesta

StefanoTag

Active Member
Licensed User
Longtime User
Salve a tutti, ricorro al Forum per esporre una richiesta che oltre che insolita, mi sembra anche abbastanza improbabile.
Provo ad esporla nel modo più chiaro possibile anche se so già che difficilmente ci riuscirò: nella mia Scuola stiamo cercando di fare delle prove di laboratorio sulla dilatazione dei metalli. Abbiamo una barretta di ferro che viene riscaldata al centro e aumenta la sua lunghezza di una frazione seppur millimetrica comunque apprezzabile.
Avendo a disposizione le due immagini della stessa barretta fotografata nella stessa posizione, prima e dopo il riscaldamento, sarebbe possibile in B4A provare in qualche modo a sovrapporle ed evidenziare eventuali differenze di dimensione?
Sinceramente io non so da quale parte incominciare.
Qualcuno ha qualche idea in proposito o qualche esempio per un possibile riferimento?
Ringrazio chiunque mi possa dedicare un pò della sua attenzione.

Stefano
 

Star-Dust

Expert
Licensed User
Longtime User
Buon giorno professore. Credo che si possa fare con un piccolo trucchetto e qualche libreria grafica.

Il problema è che la posizione della foto dev'essere identica. Scattata anche mezzo centimetro più vicino (p piu a destra...) può produrre una dimensione diversa e falsarla e dare risultati errati
 

LucaMs

Expert
Licensed User
Longtime User
Innanzitutto ti servirebbe un cavalletto per il dispositivo Android :D (e direi anche un secondo dispositivo che faccia scattare la foto al primo, perché se tocchi il "dispositivo fotografico" rischi di muoverlo di micron che però influenzerebbero la faccenda).

Poi, ottenute le due immagini, suppongo si debba fare una specie di mix delle due usando degli effetti (tipo xor xand etc) ed io proverei questa libreria:
https://www.b4x.com/android/forum/threads/rsimageprocessing-library.16230/
 

LucaMs

Expert
Licensed User
Longtime User
Il problema è che la posizione della foto dev'essere identica. Scattata anche mezzo centimetro più vicino (p piu a destra...) può produrre una dimensione diversa e falsarla e dare risultati errati
Avevo già scritto il mio post ma non pubblicato, stavo cercando una libreria; chiaramente abbiamo scritto più o meno la stessa cosa ma, altrettanto chiaramente, abbiamo sottolineato qualcosa che il "prof" sa perfettamente ;)
 

Star-Dust

Expert
Licensed User
Longtime User
Significa che sta mattina non abbiamo molto da fare tutti e due
 

udg

Expert
Licensed User
Longtime User
Un modo "casereccio", senza ricorrere a librerie grafiche, potrebbe anche essere quello di affiancare all'immagine della barretta un righello con scala millimetrica e leggerne le misure.
 

LucaMs

Expert
Licensed User
Longtime User
Un modo "casereccio", senza ricorrere a librerie grafiche, potrebbe anche essere quello di affiancare all'immagine della barretta un righello con scala millimetrica e leggerne le misure.
Sovrapporre un righello sw? Ne avevo un per pc, millenni fà.

@Star-Dust , questo è un lavoro per te: creare un righello da muovere sopra...

:)


Significa che sta mattina non abbiamo molto da fare tutti e due
Personalmente ho troppe cose da fare, per questo preferisco non pensarci e "perdere tempo" gironzolando sul sito (e scrivendo cose non troppo intelligenti :D)
 

StefanoTag

Active Member
Licensed User
Longtime User
Non mi aspettavo così tante risposte in così poco tempo!
Chiaramente partivo dal presupposto che le due immagini da comparare avrebbero ripreso l'oggetto esattamente nella stessa posizione (altezza, distanza etc. etc.) le uniche variabili tra le due immagini sarebbero state la lunghezza e lo spessore dell'oggetto fotografato.
Verrà fotografata per due volte la stessa estremità della barretta. Tra le due immagini potrà esserci una differenza in lunghezza e spessore di qualche millimetro.
Sarebbe possibile sovrapporre le due immagini per evidenziare questa piccola (ma apprezzabile!) differenza?
L'idea del righello è buona ma non saprei come realizzarla. Ora andrò a curiosare la libreria indicata per vedere se ci sono spunti che mi possano dare una speranza di partire con il progetto. Grazie comunque!
 

LucaMs

Expert
Licensed User
Longtime User
Ops... la seconda immagine che ho caricato, 2.png, non è quella che dovrebbe essere - ho salvato in maniera sbagliata dal tool usato (comprende già le due barrette sovrapposte).
Cmq, è facile rimediare.
 

udg

Expert
Licensed User
Longtime User
Ops... la seconda immagine che ho caricato, 2.png, non è quella che dovrebbe essere
Insomma, hai fatto casino come al solito! ehehe
E non si può neanche dire "è bravo, ma non si applica" perché ti applichi anche troppo.. (la generosità non resta impunita).
Vediamo se il prof ha nel suo repertorio un giudizio più calzante, qualcosa tipo "bravo, si applica, ma nell'esposizione non rende quanto potrebbe".. :)
 

StefanoTag

Active Member
Licensed User
Longtime User
...nella mia carriera ho conosciuto non pochi studenti molto bravi e brillanti ma un pò confusi nell'esposizione. Una confusione che derivava essenzialmente proprio dalla loro destrezza: facevano una cosa mentre la loro mente già era impegnata a salire lo scalino superiore...magari non completavano...o dimenticavano...o magari non rifinavano. Comunque tutti peccati veniali rispetto alla loro eccellenza!
Ti ringrazio molto Lucas per il tuo tutorial che mi incuriosisce molto ma che non riesco a compilare perchè ricevo l'errore: "Descrizione errore: Tipo sconosciuto: rsimageblend" sulla riga 'Private mRSImageBlend As RSImageBlend' pur avendo spuntato la Libreria RSImageProcessing...Cosa posso fare? Mi sfugge sicuramente qualcosa...non nascondo la mia scarsa competenza.
 

LucaMs

Expert
Licensed User
Longtime User
Qual'è il numero di versione della libreria? La mia forse è vecchia, la 1.00.

upload_2018-2-14_14-39-36.png



...nella mia carriera ho conosciuto non pochi studenti molto bravi e brillanti ma un pò confusi nell'esposizione. Una confusione che derivava essenzialmente proprio dalla loro destrezza: facevano una cosa mentre la loro mente già era impegnata a salire lo scalino superiore...magari non completavano...o dimenticavano...o magari non rifinavano. Comunque tutti peccati veniali rispetto alla loro eccellenza!
Non è il mio caso :D
 

StefanoTag

Active Member
Licensed User
Longtime User
...non è che nel codice la libreria 'RSImageprocessing' non venga correttamente richiamata?
 

LucaMs

Expert
Licensed User
Longtime User
Ti invio di nuovo il progetto ma allego anche la libreria che ho scaricato adesso; ha lo stesso numero, 1.00, ma penso sia più recente.

Non penso sia necessario specificarlo ma dovresti copiare i due file della libreria nella cartella delle librerie aggiuntive (verifica anche che il percorso-path sia corretto: menu Tools - Configure path)
 

Attachments

  • RSImageProcessingFixed.zip
    331.4 KB · Views: 192
  • RSImage test.zip
    46 KB · Views: 186

StefanoTag

Active Member
Licensed User
Longtime User
Il compilatore è andato correttamente a buon fine e l'App funziona e si avvicina egregiamente alla soluzione del problema!!
L'unico inconveniente è che il risultato finale sembra che sovrapponga le due immagini che però risultano inizialmente uniformate nelle loro dimensioni originali. Mi spiego meglio, io ho provato la tua App con una barretta gialla e con una barretta rossa di uguale altezza ma abbastanza più lunga della gialla. L'App però mostra le due barrette originarie con le stesse dimensioni, anche se il risultato sembra correttamente derivare da una sovrapposizione delle due barrette, mostrando una barretta verde (giallo + rosso):

upload_2018-2-14_15-36-9.png


in realtà l'App avrebbe dovuto dare un risultato di questo tipo:

upload_2018-2-14_15-41-51.png


Comunque è già un'ottima partenza!
Probabilmente, anzichè usare "bmpResult = mRSImageBlend.ExclusionBlend(ImageView1.Bitmap, ImageView2.Bitmap)" occorrerà cercare qualche altro metodo della libreria...dico bene?
 
Top