cv::Floodfillでmaskを使用する場合、注意点が2つある。
1つは、maskのサイズを縦横+2のサイズにしなければいけない。もうひとつは、0で初期化する必要がある
アプリで1回だけ試すのであれば、cv::Mat作成時に、cv::Mat::zeros(width+2, height+2, CV_8UC1)で初期化できるが、作成したmatを使いまわす場合、中身を0に設定する必要がある
これまで、ループをまわして各要素に0を代入していたが、mat = cv::Scalar::all(0); で各要素を0に設定できることがわかった。
0 件のコメント:
コメントを投稿