我需要使用洪水填充用实时摄像机填充墙面涂料,下面的代码会在图像上生成白色图层:
(void) processImage:(cv::Mat&)image
{
cv::Mat mask;
cv::Point seed(100,200);
cvtColor(image, image, cv::COLOR_RGBA2RGB);
cv::floodFill(image, mask, seed, cv::Scalar(255, 10, 20) ,0, cv::Scalar(2,2, 2), cv::Scalar(2,2, 2), 4 );
cvtColor(image, image, cv::COLOR_RGB2RGBA);
}
谁能帮我吗?
解决了!! ....删除此转换......
cvtColor(image, image, cv::COLOR_RGB2RGBA);
你从mask
转换了图像
试试这个
-(void) processImage:(cv::Mat&)image
{
cv::Mat mask;
cv::Point seed(100,200);
cvtColor(image, image, cv::COLOR_RGBA2RGB);
cv::floodFill(image, mask, seed, cv::Scalar(255, 10, 20) ,0, cv::Scalar(2,2, 2), cv::Scalar(2,2, 2), 4 );
// Now you will get converted image from 'mask'
}