Я успешно изменил диапазон цветов в изображении на один другой цвет. Я хотел бы сделать его более реалистичным, изменив цвета в соответствии с распределением образца или, по крайней мере, узкой полосой случайных оттенков.
Какая-то коричневая трава
изменен на очень искусственную зеленую траву
Мой код:
import cv2 as cv
import os
import numpy as np
import random
# Load the image and convert to HSV colourspace
image = cv.imread('brown_grass.jpg')
hsv=cv.cvtColor(image,cv.COLOR_BGR2HSV)
# Define lower and uppper limits of what we call "brown"
brown_lo=np.array([18,0,0])
brown_hi=np.array([28,255,255])
# Mask image to only select browns
mask=cv.inRange(hsv,brown_lo,brown_hi)
# Change image to green where we found brown
image[mask>0]=(74,183,125) # how do change it to a nice realistic texture swatch?
cv.imwrite('result.jpg',image)
(Благодаря Я хочу изменить цвета на изображении с python с определенного цветового диапазона на другой цвет для первой части решения)