gologiusの巣

プログラミングなどの技術メモです。誰かの役に立てるとうれしいです。

OpencCV 3 " Ptr<FeatureDetector> blobDetector = new SimpleBlobDetector(params);" が使えない

OpenCVで,Circle Gridの検出などで,検出器のパラメータを変えたい場合,

answers.opencv.org

なんかを参考にすると,エラーが出た.

SimpleBlobDetector::Params params;
params.maxArea = paramMaxArea; // 100 * 100
params.minArea = paramMinArea; // 10 * 10
Ptr<FeatureDetector> blobDetector = new SimpleBlobDetector(params); //ここで引数のエラーがでる

なんでかと調べてたら,OpenCV 3以降は上記の方法ではダメみたいですね. ここに解決策がありました. c++ - opencv 3, blobdetection, The function/feature is not implemented () in detectAndCompute - Stack Overflow

Ptr<cv::SimpleBlobDetector> detector = cv::SimpleBlobDetector::create(params); 

にすればコンパイル通ります.