У меня есть изображение, как показано ниже
На этом изображении я хочу преобразовать желтые числа в BLACK
цвета и RED
регионы в серые. Уже черные и серые области менять не нужно. Как мне это сделать? Кто-нибудь может помочь? Я посмотрел на несколько вопросов, но не могу понять. Кроме того, поскольку желтый и красный цвета не совсем одинаковы, но находятся в диапазоне, я не могу выполнить прямую замену цветов. CV2 или PIL, оба в порядке.
Если необходимо использовать значения HSV, дайте мне знать, как определить диапазон. Эти вопросы были заданы, и некоторые ответы уже есть, но я не могу их ответить asp, поэтому любые дополнительные инструкции будут полезны
Ожидаемый результат - это что-то вроде pi c ниже (созданного путем рисования пикселей в GIMP). Не совсем то, что вы видите, но вы понимаете, что я ищу.
Обновление Решение, которое я закончил до использования, как показано ниже. Это сделало все желтые буквы черными, и этого для меня было достаточно (я думаю, при подобном подходе все красные области тоже можно было бы сделать серыми)
img = Image.open('Testpic.jpg').convert('RGB')
roi = img.crop((652,125,697,295))
orig_color1 = (210,140,0)
orig_color2 = (210,210,210)
replacement_color = (4,4,4)
roi = roi.resize((288, 1014), Image.ANTIALIAS)
data = np.array(roi)
data[((data >= orig_color2)).all(axis = -1)] = (255,0,0)
data[((data >= orig_color1)).all(axis = -1)] = replacement_color
data[((data == (255,0,0))).all(axis = -1)] = (255,255,255)
img2 = Image.fromarray(data, mode='RGB')