1 | initial version |
You could try the top hat operation as suggested in this post:http://answers.opencv.org/question/30130/best-method-for-multiple-particle-tracking-with/?answer=30135#post-id-30135 But it may not work so well if your dots have a size of 1 pixel.
Another morphological operation that could work is opening:
int morphOpSize = 3;
StructuringElementEx element =
new StructuringElementEx(
morphOpSize,
morphOpSize,
morphOpSize / 2,
morphOpSize / 2,
Emgu.CV.CvEnum.CV_ELEMENT_SHAPE.CV_SHAPE_ELLIPSE);
filtered = gray.MorphologyEx(
element,
Emgu.CV.CvEnum.CV_MORPH_OP.CV_MOP_OPEN,
2);
(sorry for my Emgu dialect)
Otherwise look for edge preserving low pass filtering.
2 | Removed tophat remark |
You could try the top hat operation as suggested in this post:http://answers.opencv.org/question/30130/best-method-for-multiple-particle-tracking-with/?answer=30135#post-id-30135
But it may not work so well if your dots have a size of 1 pixel.
Another A morphological operation that could work is opening:
int morphOpSize = 3;
StructuringElementEx element =
new StructuringElementEx(
morphOpSize,
morphOpSize,
morphOpSize / 2,
morphOpSize / 2,
Emgu.CV.CvEnum.CV_ELEMENT_SHAPE.CV_SHAPE_ELLIPSE);
filtered = gray.MorphologyEx(
element,
Emgu.CV.CvEnum.CV_MORPH_OP.CV_MOP_OPEN,
2);
(sorry for my Emgu dialect)
Otherwise look for edge preserving low pass filtering.