Ich habe ein Farbbild, das ich in OpenCV Schwelle möchte. Was ich möchte ist, dass, wenn einer der RGB-Kanäle unter einem bestimmten Wert, um den Wert in allen Kanälen auf Null (d. H. Schwarz).Thresholding RGB-Bild in OpenCV
So verwende ich die opencv Schwellenfunktion wie:
cv::Mat frame, thresholded
// read frame somewhere, it is a BGR image.
cv::threshold(frame, thresholded, 5, 255, cv::THRESH_BINARY);
Also, was ich dachte, dies tun würde, ist, dass, wenn eine der Kanal weniger als 5 ist, dachte ich, es ihnen auf Null gesetzt würde. Es scheint jedoch nicht so zu funktionieren. Zum Beispiel sehe ich nur den grünen Kanal für einige dieser Bereiche, was anzeigt, dass nicht alle Kanäle auf 0 gesetzt sind.
Gibt es einen Weg, dies schnell mit openCV zu erreichen?
Schwellwertbildung wird beliebigen Wert unterhalb von 5 auf 0 gesetzt und * andere auf 255 *. ist das, was du wolltest? – berak