Salut, je suis Ramu. Cette fois, nous mettrons en œuvre un processus de réduction des couleurs qui réduit le nombre de couleurs dans l'image. Soit dit en passant, la raison pour laquelle on est ignoré de la dernière fois est que la cinquième conversion HSV n'a pas pu être mise en œuvre.
Comme son nom l'indique, la réduction des couleurs est un processus qui réduit le nombre de couleurs. Dans une image normale, il y a 256 couleurs de [0: 255] chacune dans BGR, et il y a une combinaison de 256 $ ^ 3 = 16 777 216 $ couleurs pour une valeur de pixel. Dans ce processus, chaque BGR est réduit à 4 couleurs de [32,96,160,224], et une valeur de pixel est réduite à 4 $ ^ 3 = 64 $.
Cette fois, la réduction de couleur est effectuée selon la formule suivante.
pix = { 32 ( 0 <= pix < 64)
96 ( 64 <= pix < 128)
160 (128 <= pix < 192)
224 (192 <= pix < 256)
decreaseColor.py
import numpy as np
import cv2
import matplotlib.pyplot as plt
def decreaseColor(img):
dst = img.copy()
idx = np.where((0<=img) & (64>img))
dst[idx] = 32
idx = np.where((64<=img) & (128>img))
dst[idx] = 96
idx = np.where((128<=img) & (192>img))
dst[idx] = 160
idx = np.where((192<=img) & (256>img))
dst[idx] = 224
return dst
#Lecture d'image
img = cv2.imread('../assets/imori.jpg')
#Traitement de réduction de couleur
img = decreaseColor(img)
#Affichage de l'image
plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
plt.show()
L'image de gauche est l'image d'entrée et l'image de droite est l'image de sortie. Vous pouvez voir que la couleur a bien été réduite. Le résultat de sortie ressemble à une couleur unie sur une couleur similaire.
Si vous avez des questions, n'hésitez pas à nous contacter. [Github] de imori_imori (https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answers_py/answer_6.py) a la réponse officielle, veuillez donc vérifier cela également. .. De plus, comme python est un débutant, veuillez signaler toute erreur.
Recommended Posts