PDA

View Full Version : Aiuto per C#


salvo19881
11-12-2012, 11:13
Salve, per un progettino di C# mi servirebbe qualche guida sul canny edge detection.
Facendo varie ricerche su google ho trovato diversi risultati ma, nessuno che mi possa aiutare.
Io ho un immagine e dovrei trovare i contorni di alcuni oggetti in determinati punti dell'area(ho i punti che delimitano queste zone).
Secondo il professore l'algoritmo di canny prende in input l'immagine e la zona e mi torna il contorno.
Non ho trovato nulla di simile, per caso conoscete qualche documentazione valida?

idoido
11-12-2012, 12:57
Salve, per un progettino di C# mi servirebbe qualche guida sul canny edge detection.
Facendo varie ricerche su google ho trovato diversi risultati ma, nessuno che mi possa aiutare.
Io ho un immagine e dovrei trovare i contorni di alcuni oggetti in determinati punti dell'area(ho i punti che delimitano queste zone).
Secondo il professore l'algoritmo di canny prende in input l'immagine e la zona e mi torna il contorno.
Non ho trovato nulla di simile, per caso conoscete qualche documentazione valida?

ho appena cercato su google.
canny edge detection c#

primo risultato un progetto su codeproject

http://www.codeproject.com/Articles/93642/Canny-Edge-Detection-in-C

ragazzo mio, se questa non la consideri una documentazione valida, non so proprio che stai cercando.

salvo19881
11-12-2012, 14:07
Intendo valida per quello che serve a me, in quell'articolo, nel codice non vedo alcun riferimento ad immagine, prende in input dati int e float, io mi trovo un image, speravo in qualche classe che prenda in input il file image(come mi ha detto il professore che, ovviamente, non mi ha lasciato alcun rifermento su cui studiare).

tomminno
11-12-2012, 14:34
Intendo valida per quello che serve a me, in quell'articolo, nel codice non vedo alcun riferimento ad immagine, prende in input dati int e float, io mi trovo un image, speravo in qualche classe che prenda in input il file image(come mi ha detto il professore che, ovviamente, non mi ha lasciato alcun rifermento su cui studiare).

Non capisco veramente, in quell'esempio c'è il codice di un programma completo che partendo da una immagine estrae i contorni con l'algoritmo di Canny.


IrisImage.Image = Bitmap.FromFile(ofd.FileName);
...
CannyData = new Canny((Bitmap)IrisImage.Image,TH,TL,MaskSize,Sigma );

idoido
11-12-2012, 14:49
non so che facoltà fai, ma queste cose si fanno per l'esame di "image processing " o dir si voglia "analisi di immagini e video" per ing.informatica/informatica triennale/magistrale

se il tuo professore non ha lasciato riferimenti, sicuramente avrà fatto delle lezioni in classe, in cui sicuramente avrà detto che un'immagine normalmente è definita pixel per pixel attraverso valori di numeri interi.

sicuramente avrà anche detto che abitualmente in image processing si lavora su immagini in scala di grigio (valori da 0 a 255 che corrispondono ad un byte) quindi per un futuro ing.informatico/informatico parlare di image o di int non dovrebbe far differenza.

riguardo al codice che puoi trovare in giro, magari trovi anche il metodo del tipo

public List<Point> ImageToCannyEdgePoints (Image sourceImage)

o public Image ImageToCannyEdgeDetection (Image sourceImage)

poi ci aggiungi un button e due picturebox ed hai fatto il programmino.

magari chiedi al professore cosa si aspetta che faccia esattamente il programmino, ti garantisco che perderai meno tempo per passare l'esame.

Considerazione finale: L'esame che stai facendo è uno dei più interessanti (informaticamente parlando) che ti capiterà di fare all'università, ti garantisco che ad esempio un importazione di file csv in un db sql (piccolo esempio lavorativo molto comune) non è che sia questa goduria di sensi per chi è del mestiere. comunque in bocca al lupo!

salvo19881
11-12-2012, 16:35
Studio ing. informatica, e sono ancora alla triennale, il problema è che non ho mai avuto l'occasione di sentir parlare di immagini, durante le lezioni, a dir la verità sono ben poche le materie informatiche.
Col professore sto facendo un progetto che poi dovrebbe diventare la mia tesi di laurea e, a tal fine, ho dovuto studiare c#(dato che nel corso di studi oltre a c e java(fortunatamente molto simile) non hanno argomentato).
Grazie mille per i chiarimenti, almeno sò che il problema sta nella mia ignoranza sull' elaborazioni di immagini, e argomentando a dovere dovrei poter utilizzare il codice su quel sito.:p