grabcut_test.cpp

Stefano Fabri, 2012-03-06 11:27 pm

Download (703 Bytes)

 
1
#include <iostream>
2
#include <opencv2/opencv.hpp>
3
#include <opencv2/highgui/highgui.hpp>
4
#include <opencv2/core/core.hpp>
5
6
using namespace std;
7
using namespace cv;
8
9
int main(){
10
        Mat bgdModel_1, fgdModel_1, bgdModel_2, fgdModel_2;
11
        
12
        Mat image_1 = imread("image.ppm", 1);
13
        Mat mask_1 = imread("mask.ppm", 0);
14
        
15
        Mat image_2 = imread("image.ppm", 1);
16
        Mat mask_2 = imread("mask.ppm", 0);
17
        
18
        Rect roi_1(0, 0, 150, 150);
19
        Rect roi_2(0, 0, 150, 150);
20
21
        grabCut(image_1, mask_1, roi_1, bgdModel_1, fgdModel_1, 1, GC_INIT_WITH_MASK);
22
        grabCut(image_2, mask_2, roi_2, bgdModel_2, fgdModel_2, 1, GC_INIT_WITH_MASK);
23
        
24
        Mat diff;
25
        compare(mask_1, mask_2, diff, cv::CMP_NE);
26
        cout << countNonZero(diff) << endl;
27
28
}