5

私はC++を使用してOpenCVにグラブカットアルゴリズムを実装しようとしています。このサイトに出くわし、それを行う非常に簡単な方法を見つけました。残念ながら、コードが機能していないようです

#include "opencv2/opencv.hpp"
#include <iostream>

using namespace cv;
using namespace std;

int main( )
{
 // Open another image
    Mat image;
    image= cv::imread("images/mango11a.jpg");

    // define bounding rectangle 
    cv::Rect rectangle(50,70,image.cols-150,image.rows-180);

    cv::Mat result; // segmentation result (4 possible values)
    cv::Mat bgModel,fgModel; // the models (internally used)

    // GrabCut segmentation
    cv::grabCut(image,    // input image
                    result,   // segmentation result
                            rectangle,// rectangle containing foreground 
                            bgModel,fgModel, // models
                            1,        // number of iterations
                            cv::GC_INIT_WITH_RECT); // use rectangle
    cout << "oks pa dito" <<endl;
    // Get the pixels marked as likely foreground
    cv::compare(result,cv::GC_PR_FGD,result,cv::CMP_EQ);
    // Generate output image
    cv::Mat foreground(image.size(),CV_8UC3,cv::Scalar(255,255,255));
    image.copyTo(foreground,result); // bg pixels not copied

    // draw rectangle on original image
    cv::rectangle(image, rectangle, cv::Scalar(255,255,255),1);
    cv::namedWindow("Image");
    cv::imshow("Image",image);

    // display result
    cv::namedWindow("Segmented Image");
    cv::imshow("Segmented Image",foreground);


    waitKey();
    return 0;
}

誰かがこれを手伝ってくれますか?問題と思われるものPS:コンパイル中にエラーは出力されませんでした。

4

1 に答える 1

1

設定をもう一度確認してください。同じチュートリアルを実行したところ、うまくいきました。ここに画像の説明を入力

于 2013-06-27T13:54:47.470 に答える