Skip to content

Commit a0c2718

Browse files
committed
Merge pull request opencv#10902 from alalek:port_10695
2 parents a836892 + aab390c commit a0c2718

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

modules/features2d/src/blobdetector.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -304,11 +304,10 @@ void SimpleBlobDetectorImpl::findBlobs(InputArray _image, InputArray _binaryImag
304304
#endif
305305
}
306306

307-
void SimpleBlobDetectorImpl::detect(InputArray image, std::vector<cv::KeyPoint>& keypoints, InputArray)
307+
void SimpleBlobDetectorImpl::detect(InputArray image, std::vector<cv::KeyPoint>& keypoints, InputArray mask)
308308
{
309309
CV_INSTRUMENT_REGION()
310310

311-
//TODO: support mask
312311
keypoints.clear();
313312
Mat grayscaleImage;
314313
if (image.channels() == 3 || image.channels() == 4)
@@ -372,6 +371,11 @@ void SimpleBlobDetectorImpl::detect(InputArray image, std::vector<cv::KeyPoint>&
372371
KeyPoint kpt(sumPoint, (float)(centers[i][centers[i].size() / 2].radius) * 2.0f);
373372
keypoints.push_back(kpt);
374373
}
374+
375+
if (!mask.empty())
376+
{
377+
KeyPointsFilter::runByPixelsMask(keypoints, mask.getMat());
378+
}
375379
}
376380

377381
Ptr<SimpleBlobDetector> SimpleBlobDetector::create(const SimpleBlobDetector::Params& params)

0 commit comments

Comments
 (0)