斑点计数非常近的物体

时间:2019-07-15 12:50:10

标签: c# .net image-processing emgucv aforge

我试图计算丝网印刷纸中的斑点。目的是发现丝网印刷中的缺陷,例如连接的斑点或切割的斑点等。

打印的图案具有非常接近的平行线。这会导致阈值设置不正确,阈值设置时某些线会接合,从而导致错误的结果。

我尝试了Aforge和EMGU。尝试腐蚀和膨胀(反转后)运气不好,平行的细线要么消失,要么加入这两个过程。

Grayscale filtergrayscale = new Grayscale(0.2125, 0.7154, 0.0721);
grayImage = filtergrayscale.Apply(InitialImg);

Threshold filterthreshold = new 
Threshold(Convert.ToInt16(numericUpDown1.Value));         
ThresholdImage= filterthreshold.Apply(grayImage);

Dilatation3x3 dilate = new Dilatation3x3();
DilateImage = dilate.Apply(ThresholdImage);

Invert filter = new Invert();
InvertImage = filter.Apply(DilateImage );

BlobsFiltering filterblobsize = new BlobsFiltering();
filterblobsize.CoupledSizeFiltering = true;
filterblobsize.MinWidth = Convert.ToInt32(numericUpDown3.Value);
filterblobsize.MinHeight = Convert.ToInt32(numericUpDown3.Value);
Blobsizeimage = filterblobsize.Apply(InvertImage );
BlobCounter bc = new BlobCounter(blobsizeimage);
bc.ObjectsOrder = ObjectsOrder.Size;
Blob[] blobs = bc.GetObjectsInformation();         

label26.Text = blobs.Length.ToString();
ImageBox1.image = Blobsizeimage ;

我试图将细的闭合线清楚地分开以获取正确的斑点数。

下面的参考图片: Ref_Image

0 个答案:

没有答案