OpenCV (C ++) - Setze HSV-Werte eines Pixels
Ich habe ein RGB-Bild, das ich in HSV konvertiert habe, und mein Ziel ist es, jedes Pixel, das einen bestimmten Farbtonwert (100) nicht erfüllt, auf Schwarz zu setzen. Also H = S = V = 0.
Ich habe diesen Code: (Frame3 ist das HSV Mat-Bild, Farbton = 100)
for (int i = 0; i<frame3.rows; i++)
{
for (int j = 0; j<frame3.cols; j++)
{
Vec3b hsv = frame3.at<Vec3b>(i, j);
int H = hsv.val[0]; //hue
int S = hsv.val[1]; //saturation
int V = hsv.val[2]; //value
if (H != hue) {
H = 0;
S = 0;
V = 0;
}
}
}
imshow("Processed Hue", frame3);
}
Aber wenn ich es laufen lasse, geschieht nichts. Das Bild bleibt das selbe. Als ich versuchte, die Werte für hsv.val [0] auf der Konsole auszudrucken, bekam ich Buchstaben und keine Zahlen. Ich denke also, dass diese Art von Punkten auf das Problem hindeutet, aber ich weiß immer noch nicht, wie ich es beheben soll.
Jede Hilfe wäre sehr dankbar! Vielen Dank