2012-07-19 18 views

risposta

1

Io parto dal presupposto che si sta utilizzando EmguCV. È possibile utilizzare il metodo MorphologyEx che implementa entrambe le operazioni semplici e complesse basate morfologia

3

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

+0

Cosa è 'grigio 'in' grigio.Width' e 'grey.Height'? – dumbledad

+0

Oh non ha risolto il problema. Viene da un test unitario. Puoi sostituire il grigio con src. –

+1

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

Problemi correlati