opencv查找Mat中大于零的成员索引

时间:2014-03-20 09:02:10

标签: opencv

我有一个cv::Mat,我希望得到前面几列上大于零的成员索引。如果我不清楚,我想举个例子:

double data[8] = {0.7, -0.1, 0.2, 0.4, 0.8, 0.7, -0.6, 0.3}
Mat example(2, 4, CV_64F, data);

大于零的成员索引是:

index = {1 0 1 1 
         1 1 0 1}

我想获得索引的前三列:

final = {1 0 1 
         1 1 0}

我可以用OpenCV中的函数来解决这个问题吗?

非常感谢。

1 个答案:

答案 0 :(得分:1)

是的,你可以用非常简单的方式做到这一点:

Mat index;
threshold(example, index, 0, 1, THRESH_BINARY);
Mat final = index(Rect(0,0,3,2));
// display result
cout << final << endl;

请参阅documentation of threshold function