代表颜色:标量浮动,反之亦然

时间:2012-04-06 09:31:51

标签: opencv colors

我正在使用opencv2 c ++接口。

我想了解如何将颜色从Scalar转换为float。我有一个像这样的矩阵:

d = Mat(src.rows, src.cols, CV_32F);

我希望用标量中用RGB 255值表示的颜色填充它的一部分:

for(int i=0; i<src.cols*src.rows; i++)
    if (some_condition)
        // fill it with red
        d.at<float>(i/src.cols, i%src.cols) =? Scalar(255,0,0);

1 个答案:

答案 0 :(得分:2)

为了转换float cv :: Mat的一些元素,请检查cv :: Mat类的这个方法

   // sets some of the matrix elements to s, according to the mask
   Mat& setTo(const Scalar& s, const Mat& mask=Mat());

http://opencv.willowgarage.com/documentation/cpp/basic_structures.html

您应该定义一个遮罩,用于定义矩阵的哪些部分满足if statement的条件。