2017-10-05 5 views
0

Ich brauche Wandfarbe mit Echtzeit-Videokamera mit Flutfüllung, die im folgenden Code ergibt eine weiße Schicht auf dem Bild zu füllen:Wie verwende ich die Füllfarbe zum Einfärben einer Videokamera mit 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); 
} 

Kann mir jemand helfen?

Antwort

1

!! Gelöst .... diese Umwandlung entfernen ......

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

Gute Arbeit Versuchen konvertiert Bild aus der Problem! Vielleicht, wenn Sie eine Dokumentation hinzufügen, die zeigt, warum dies ein Problem war, kann es anderen in der Zukunft helfen! :) –

+0

Danke .. Es ist nicht notwendig, Bild von einem Farbraum in einen anderen zu konvertieren, weil es einen Farbraum auf Ihrem halb-einheitlichen Bildbereich hinzufügen, der hier nicht benötigt wird. –

0

Sie erhielten von mask

dies herauszufinden

-(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

Dies liefert keine Antwort auf die Frage. Sobald Sie genug [Reputation] (https://stackoverflow.com/help/whats-reputation) haben, können Sie [jeden Beitrag kommentieren] (https://stackoverflow.com/help/privileges/comment); Stattdessen [geben Sie Antworten, die keine Klärung durch den Fragesteller erfordern] (https://meta.stackexchange.com/questions/214173/why-doe-i-need-50-reputation-to-comment-what-can- i-do-stattdessen). - [Aus Bewertung] (/ review/low-quality-posts/17535792) – Dmitry

Verwandte Themen