我正在使用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);
答案 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
的条件。