CV_8UC3和CV_32FC3之间的矩阵乘法

时间:2017-09-18 10:46:50

标签: c++ opencv

我想在图像和蒙版之间进行矩阵乘法。我希望HSV值乘以0.3。我认为,问题出在CV_32FC3CV_8UC3之间,但是当我转换时,仍然无法正常工作。 我能怎么做?这是我目前的代码:

Mat mask = Mat(frame.size(), CV_32FC3, cv::Scalar(1, 1, 1));
cv::fillConvexPoly(mask, pts, 3, cv::Scalar(1,1,0.3));
cvtColor(frame, frame, CV_BGR2HSV);
frame.convertTo(frame, CV_32FC3);
cv::multiply(frame,mask,frame);
frame.convertTo(frame, CV_8UC3);
cvtColor(frame, frame, CV_HSV2BGR);

如果我只做这个,看看面具是好的 - 白色和黑色的变化:

Mat mask = Mat(frame.size(), CV_32FC3, cv::Scalar(1, 1, 1));
cv::fillConvexPoly(mask, pts, 3, cv::Scalar(0,0,0));
imshow("mask", mask);

0 个答案:

没有答案
相关问题