grabcut_test.cpp
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 | } |