L*ab порог цветового пространства

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

Это то, что я хочу сделать. У меня есть изображение с несколькими цветами, которые я хотел бы выбрать, используя порог. различные цвета можно увидеть на этом изображении: цвета радуги

Я использую кусок кода, чтобы выбрать определенный цвет (4-й цвет сверху в данном случае - ярко-оранжевый):

import cv2
from matplotlib import pyplot as plt

cap = cv2.imread(r"YZNj5.jpg")

cap2 = cv2.cvtColor(cap,cv2.COLOR_BGR2LAB)
rgb1 = (157,146,183)
rgb2 = (172,179,207)
mask = cv2.inRange(cap2,rgb1,rgb2)  

frame = cv2.bitwise_and(cap, cap, mask=mask)

plt.imshow(frame[...,::-1])
plt.show()

Для 20 цветов на изображении я получаю хорошие результаты для 16 из них, для 4, однако я не получаю то, что ожидаю.

Например: когда я делаю выбор в L*ab для темно-оранжевого (3-й цвет сверху), лабораторные значения нижняя граница: (87,109,14), верхняя граница: (119,202,75), я могу выбрать его, если я сделаю это вручную в openCV (используя пороговый скрипт с живым обновлением). Как только я запустил вышеупомянутый скрипт автоматически с теми же значениями, найденными вручную, выбранный цвет - темно-синий (пятый снизу).

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

Вот другие цвета, с которыми у меня проблемы: 3-й и 4-й снизу (хороший выбор с этими значениями вручную: fushia: (85,152,107),(144,221,132) фиолетовый: (97,174,123),(146,223,168) С этими значениями ничего не выбрано (черный)

6-й цвет сверху: желтый: (213,42,101),(237,97,123) здесь выбран бледно-голубой (8-й цвет снизу)

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

С уважением,

KJohnson

0 ответов

Другие вопросы по тегам