BlobDetector currently inherits from cv::SimpleBlobDetector, which is an interface class that doesn't provide any functionality itself. On the other hand, every time OpenCV adds a new pure virtual method to this interface, it breaks BlobDetector.
This patch makes BlobDetector inherit from cv::Feature2D instead, which should hopefully have fewer breaking changes. This requires adding a typedef for Params, which was originally provided by cv::SimpleBlobDetector. I also took the opportunity to make all the parameters reference this typedef rather than directly use cv::SimpleBlobDetector::Params.
It is likely possible to remove inheritance from BlobDetector altogether, since it doesn't appear to use any functionality from cv::Feature2D either, but I decided not to do this because BlobDetector is technically part of the public interface, and this could increase the likelihood of breaking downstream packages that use this class (if any do).
I have not done any runtime testing of this, since I don't actually use this package and was just nerdsniped into fixing this by @muellerbernd and @twdragon.
BlobDetector
currently inherits fromcv::SimpleBlobDetector
, which is an interface class that doesn't provide any functionality itself. On the other hand, every time OpenCV adds a new pure virtual method to this interface, it breaksBlobDetector
.This patch makes
BlobDetector
inherit fromcv::Feature2D
instead, which should hopefully have fewer breaking changes. This requires adding a typedef forParams
, which was originally provided bycv::SimpleBlobDetector
. I also took the opportunity to make all the parameters reference this typedef rather than directly usecv::SimpleBlobDetector::Params
.It is likely possible to remove inheritance from
BlobDetector
altogether, since it doesn't appear to use any functionality fromcv::Feature2D
either, but I decided not to do this becauseBlobDetector
is technically part of the public interface, and this could increase the likelihood of breaking downstream packages that use this class (if any do).I have not done any runtime testing of this, since I don't actually use this package and was just nerdsniped into fixing this by @muellerbernd and @twdragon.
Fixes #38.