OpenCV: Einstellung alle Pixel eines bestimmten BGR Wert zu einem anderen BGR Wert
Ich bin mit OpenCV mit Python. Ich habe ein Bild, und was ich tun möchte, ist setzen alle Pixel der BGR-Wert [0, 0, 255] auf [0, 255, 255].
Fragte ich einen Vorherige Frage, wie Posterisieren Sie ein Bild, und aus der Antwort, die ich gelernt, über die Indizierung für ein Array von Indizes, für die ex:
Bild[image > 128] = 255
Ich verstehe, wie das funktioniert, da Bild - > 128 liefert ein array von multi-dimensionales array von Indizes, welche die Bedingung erfüllen, und dann habe ich das array auf das Bild und legen Sie diese auf 255. Allerdings bin ich immer verwirrt, wie zu verlängern, dies zu tun, einen Wert für ein array.
Ich habe versucht zu tun, die folgenden:
red = np.array([0, 0, 255])
redIndex = np.where(np.equal(image, red))
image[redIndex] = np.array([0, 255, 255])
aber es funktioniert nicht, mit der Fehlermeldung:
ValueError: array is not broadcastable to correct shape
Gibt es eine effiziente Möglichkeit, dies zu behandeln?
- Ich brauche eine Antwort in Python hoffentlich mit etwas zur Verfügung, mit NumPy, kein C++, also ist es nicht ein Duplikat.
- Hi, willst du ein Bild erstellen, in dem alle Elemente [0,255,255] oder ändern Sie einfach alle Elemente in einem Bild mit dem Wert [0,0,255] zu [0,255,255]?
- Hi, ich würde gerne ändern, dass alle Elemente in einem Bild mit dem Wert [0,0,255] zu [0,255,255], danke
Du musst angemeldet sein, um einen Kommentar abzugeben.
Betrachten ein Bild wie array wie folgt :
Alle seine Elemente sind [0,0,255]. Seine Form ist 2x5x3. Denke nur, es gibt andere Werte, die auch in der it. (Ich kann nicht alle die).
Finden Sie jetzt, wo [0,0,255] vorhanden sind, und ändern Sie Sie, um [0,255,255]. Sie können es wie folgt :
Überprüfen Sie nun die rote.
Hoffe, dass dies ist, was Sie wollen.
Test-Ergebnisse:
Check-out den code aus diesem link : https://stackoverflow.com/a/11072667/1134940
Möchte ich ändern, alle roten Pixel auf gelb, als gebeten, in Frage stellen.
Also ich habe unter diesem code am Ende :
Unten ist das Ergebnis bekam ich :
Was ist, wenn ich mich ändern will grün Masse gelb Masse :
Ergebnis :