OpenCV: le réglage de tous les pixels de spécifique BGR valeur à une autre BGR valeur
Je suis en utilisant OpenCV avec Python. J'ai une image, et ce que je veux faire est de régler tous les pixels de BGR valeur [0, 0, 255] [0, 255, 255].
J'ai demandé à un question précédente sur la façon d'isohélie d'une image, et de la réponse que j'ai appris à propos de l'indexation avec un Tableau d'indices, par ex:
image[image > 128] = 255
Je comprends comment cela fonctionne, puisque l'image > 128 retournera un tableau de tableaux multi-dimensionnels des indices qui satisfont à la condition, et j'applique ensuite ce tableau à l'image et de la mettre à 255. Cependant, je suis de se confondre avec la façon de prolonger de ce fait une valeur d'un tableau.
J'ai essayé de faire ce qui suit:
red = np.array([0, 0, 255])
redIndex = np.where(np.equal(image, red))
image[redIndex] = np.array([0, 255, 255])
mais ça ne fonctionne pas, avec l'erreur:
ValueError: array is not broadcastable to correct shape
Est-il un moyen efficace pour gérer cela?
Salut, voulez-vous de créer une image avec tous les éléments [0,255,255] ou tout simplement de changer tous les éléments dans une image avec la valeur [0,0,255] [0,255,255]?
Salut, je voudrais changer tous les éléments dans une image avec la valeur [0,0,255] [0,255,255], merci
OriginalL'auteur steve8918 | 2012-07-11
Vous devez vous connecter pour publier un commentaire.
Considérer une image comme tableau comme ci-dessous :
Son tous les éléments sont [0,0,255]. Sa forme est 2x5x3. Pense juste qu'il y a d'autres valeurs aussi. (Je ne peux pas créer tous ces).
Vous pouvez maintenant trouver où [0,0,255] sont présents et de les modifier dans [0,255,255]. Vous pouvez le faire comme suit :
Maintenant vérifier le rouge.
Espère que c'est ce que vous voulez.
Résultats Du Test:
Vérifier le code à partir de ce lien : https://stackoverflow.com/a/11072667/1134940
Je veux changer tous les pixels rouge, du jaune, comme demandé dans la question.
J'ai donc ajouté ce morceau de code ci-dessous à la fin :
Ci-dessous est le résultat que j'ai obtenu :
Ce que si je veux changer de sol vert jaune motif :
Résultat :
Je suis en train d'essayer cet exemple, mais aucun changement dans l'image im = cv2.imread('it_captcha_green.jpg') im[np.où((im == [140, 230, 140]).tous(axe=2))] = [0, 0, 0] cv2.imshow ("gris de l'image',im)
OriginalL'auteur Abid Rahman K