Come implementare le tecniche di elaborazione, apertura e chiusura delle immagini utilizzando OpenCV con C#? Qualcuno può darmi un esempio?apertura e chiusura con OpenCV
grazie
Come implementare le tecniche di elaborazione, apertura e chiusura delle immagini utilizzando OpenCV con C#? Qualcuno può darmi un esempio?apertura e chiusura con OpenCV
grazie
Per implementare apertura si chiama erodere seguito da dilatano. La chiusura viene effettuata chiamando prima la dilatazione e poi l'erosione.
Riferimenti:
http://opencv.willowgarage.com/documentation/image_filtering.html
http://opencv.itseez.com/doc/tutorials/imgproc/opening_closing_hats/opening_closing_hats.html
Io parto dal presupposto che si sta utilizzando EmguCV. È possibile utilizzare il metodo MorphologyEx
che implementa entrambe le operazioni semplici e complesse basate morfologia
Se si utilizza EmguCV (come go4sri assunto) il frammento di codice per l'apertura EmguCV sarebbe simile a questa:
Image<Gray, Byte> src = new Image<Gray, Byte>("Your Image.png");
Image<Gray, Byte> dst = new Image<Gray, Byte>(src.Width, src.Height);
StructuringElementEx element = new StructuringElementEx(3, 3, 1, 1, Emgu.CV.CvEnum.CV_ELEMENT_SHAPE.CV_SHAPE_CROSS);
CvInvoke.cvMorphologyEx(src, dst, IntPtr.Zero, element, CV_MORPH_OP.CV_MOP_OPEN, 1);
ImageViewer.Show(dst, "Your morphed Image");
Per voi di chiusura avrebbe solo bisogno di sostituire l'Enum
CV_MORPH_OP.CV_MOP_CLOSE
per ulteriori informazioni su queste funzioni visitare EmguCV Doc
Cosa è 'grigio 'in' grigio.Width' e 'grey.Height'? – dumbledad
Oh non ha risolto il problema. Viene da un test unitario. Puoi sostituire il grigio con src. –
Poiché almeno la versione 2.4.0 (è la versione più vecchia che ho) di EmguCV, è possibile chiamare MorphologyEx o _MorphologyEx direttamente sull'oggetto immagine anziché utilizzare CvInvoke. – rold2007