将OpenCV Mat与标量元素进行比较

时间:2014-11-06 09:40:06

标签: c++ opencv mask roi elementwise-operations

我有一个cv::Mat A,其中有CV_32F。但它保存整数值,如1,2 .... 100。我想形成一个与A大小相同的面具。

但是如果A(x,y)不等于5(假设),则掩码必须包含零。 如果A(x,y)等于5(比如说),则掩码必须包含1。

我想稍后将其用作投资回报率。

1 个答案:

答案 0 :(得分:5)

// you will have a much simpler construct, 
// this is just for demonstration
Mat_<float> A(3,3); mf << 1,5,5,2,5,5,1,2,3;

// now use a simple MatExpr to get a mask:
Mat mask = (A == 5);

// show results:
cerr << A << endl;
cerr << mask << endl;

------------------------------

[1, 5, 5;
  2, 5, 5;
  1, 2, 3]
[0, 255, 255;
  0, 255, 255;
  0, 0, 0]