如何使用OpenCV使用洪水填充为摄像机上的墙壁着色?

问题描述 投票:0回答:2

我需要使用洪水填充用实时摄像机填充墙面涂料,下面的代码会在图像上生成白色图层:

(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);
}

谁能帮我吗?

ios opencv image-processing video flood-fill
2个回答
1
投票

解决了!! ....删除此转换......

cvtColor(image, image, cv::COLOR_RGB2RGBA);

0
投票

你从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'
}
© www.soinside.com 2019 - 2024. All rights reserved.