0

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

我想了解如何将颜色从标量转换为浮点数。我有一个这样的矩阵:

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);
4

1 回答 1

2

要转换 cv::Mat 的某些元素,float请检查 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.

于 2012-04-06T09:37:16.267 回答