2012-07-19 16 views

Odpowiedz

1

jestem przy założeniu, że używasz EmguCV. Można użyć metody MorphologyEx który implementuje zarówno operacje

3

Jeśli używasz EmguCV (jak go4sri Zakłada) Fragment kodu do otwarcia EmguCV wyglądałby następująco morfologia podstawie prostych i złożonych:

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"); 

do zamykania cię po prostu trzeba wymienić Enum

CV_MORPH_OP.CV_MOP_CLOSE 

aby uzyskać więcej informacji na temat tych funkcji odwiedzić EmguCV Doc

+0

Co jest 'grey' w' grey.Width' i 'grey.Height'? – dumbledad

+0

Och, nie naprawiłem tego. To wynik testu jednostkowego. Możesz zmienić kolor szary na src. –

+1

Od co najmniej wersji 2.4.0 (jest to najstarsza wersja) EmguCV, możesz wywołać MorphologyEx lub _MorphologyEx bezpośrednio na obiekcie obrazu zamiast używać CvInvoke. – rold2007

Powiązane problemy