
Фон остается прежним, нужно изменить только цвет дивана. Я пробовал использовать технику маскировки, но не смог получить нужный цвет. Я даю образец цвета.

Пожалуйста, дайте мне знать, есть ли какие-нибудь простые способы настроить цвет дивана.
Я уже пробовал менять оттенок. Я не могу получить нужный цвет, изменив оттенок с помощью библиотеки openCV. Если это возможно с использованием CSS и Javascript, это тоже нормально.
Заранее спасибо.
К вашему сведению, код приведен ниже:
import cv2
import numpy as np
from google.colab.patches import cv2_imshow
image = cv2.imread('/content/bluesofa.jpg')
cv2_imshow(image)
result = image.copy()
image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
# lower boundary Blue color range values; Hue (100 - 110)
lower1 = np.array([90, 100, 20])
upper1 = np.array([100, 255, 255])
# upper boundary Blue color range values; Hue (120 - 130)
lower2 = np.array([100,100,20])
upper2 = np.array([120,255,255])
lower_mask = cv2.inRange(image, lower1, upper1)
upper_mask = cv2.inRange(image, lower2, upper2)
full_mask = lower_mask + upper_mask;
result = cv2.bitwise_and(result, result, mask=full_mask)
cv2_imshow(full_mask)
cv2.imwrite('masked_object.jpg',result)
img= cv2.imread('/content/masked_object.jpg')
img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# extract the hue channel from the hsv image
hue = img_hsv[:,:,0]
# increment the hue values by 60(random number,could be any number)
hue = hue + 60
# if pixel values become > 180, subtract 180
cond_h = hue[:, :] > 180
hue[cond_h] = hue[cond_h] - 180
# assign the modified hue channel to hsv image
img_hsv[:,:,0] = hue
im = cv2.cvtColor(img_hsv, cv2.COLOR_HSV2BGR)
result = cv2.bitwise_or(original_img,im)
cv2_imshow(result)
Подробнее здесь: https://stackoverflow.com/questions/743 ... ing-opencv
Мобильная версия