2017-10-05 52 views
0

我需要用顏色填充,下面的代碼導致白層的圖像上,以填補實時攝像機牆漆:如何在使用OpenCV的攝像機上使用填充填充顏色牆壁?

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

誰能幫助我嗎?

回答

1

解決!! ....刪除此轉換......

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

良好的工作摸清問題!也許如果你添加一些文件來說明這是一個問題,那麼它可以在未來幫助其他人! :) –

+0

謝謝..沒有必要將圖像從一個顏色空間轉換到另一個顏色空間,因爲它在您的半統一圖像區域添加一個顏色空間,這在此處不是必需的。 –

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' 
} 
+1

這不提供問題的答案。一旦你有足夠的[聲譽](https://stackoverflow.com/help/whats-reputation),你將可以[對任何帖子發表評論](https://stackoverflow.com/help/privileges/comment);相反,[提供不需要提問者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- I-DO-代替)。 - [來自評論](/ review/low-quality-posts/17535792) – Dmitry