Pare che in qualche modo la discussione stia convergendo ad un punto comune. Direi ora che sarebbe meglio definire per bene tutte le interfacce e poi possiamo postarle su svn ok?Allora, come scritto da Simone sul gruppo le nostre interfacce si dividono essenzialmente in: -IFilters-IImage-IImageFiltered-ICoinRecognizer-ICoin Vediamole nel dettaglio: IFilters contiene i filtri che verranno applicati all'immagine. Essenzialmente penso che conveniamo tutti sull'usare in sequenza: Sobel, Thresholding, Closing e ExtractBorder. Aggiungo ,come convenuto dagli altri gruppi, che bisogna operare anche un ridimensionamento dell'immagine, quindi metterei un metodo Resize all'interno di IFilters. Se volessimo potremmo creare un'interfaccia per ogni filtro, ma credo che averli tutti all'interno di IFilters renda meglio e sia più semplice e immediato da usare. All'interno di IFilters(ciò mi porta a chiedere se non dovremmo fare un'interfaccia a parte) metterei anche dei metodi, che ritornano booleani, per riconoscere se l'immagine è nel formato corretto. Definiamo così una specie di immagine standard ideale a cui ridurci ogni qual volta ci vengono date le foto. IImage contiene altezza, larghezza dell'immagine, più: Tre array (uno a canale) per i valori di ogni canale in ogni elemento Un array unico di oggetti a tre parametri per i canaliDobbiamo scegliere quale dei due usare. Insieme a questo dobbiamo decidere che tipo di array sono, int, short,bytebuffer. IImageFiltered come diceva Paolo, dovrebbe essere un sottocaso di IImage, quindi direi di toglierla, se siamo tutti d'accordo. Per il bianco e nero usiamo i tre canali di IImage settati opportunamente. ICoinRecognizer contiene il metodo di ricerca delle monete e si salva una lista delle possibili monete in un array di Coin ICoin è l'interfaccia della singola moneta: contiene centro, assi e probabilità che sia effettivamente una moneta. I metodi sono quelli nel branch Altra interfaccia (o metodi(?)) che abbiamo definito, ma non messo, sono l'acquisizione dell'immagine da galleria o da fotocamera. Potrebbero essere metodi della classe Image, ditemi voi. @Author: direi di mantenere Gruppo3 come autore di una classe, in quanto dobbiamo identificarci come gruppo e non come singolo, direi di mantenere questa idea. Lo dico perché ho visto le classi/interfacce degli altri che come autore hanno il nome dell'elemento del gruppo. A me personalmente non piace questo approccio. Ultima cosa, dopo essere riusciti a fare tutto questo, potremmo anche implementare il fatto di prendere la foto dal web, come per esempio quando si setta l'immagine di un gruppo su whattsapp. Ditemi che ne pensate(di tutto), sperando che non sia tl;dr