не может определить цвет в opencv inrange? [Дубликат]

Кажется, что все вышеперечисленные ответы решают проблему. Еще одна точка: вместо pd.set_option('option_name') вы можете использовать (автозаполнение)

pd.options.display.width = None

См. Pandas doc: Параметры и настройки:

У параметров есть полное «неточное», нечувствительное к регистру имя (например, display.max_rows). Вы можете получить / установить параметры напрямую в качестве атрибутов атрибута верхнего уровня options:

In [1]: import pandas as pd

In [2]: pd.options.display.max_rows
Out[2]: 15

In [3]: pd.options.display.max_rows = 999

In [4]: pd.options.display.max_rows
Out[4]: 999
blockquote>

[...]

для max_... params:

max_rows и max_columns используются в __repr__() для определения того, используется ли to_string() или info() для рендеринга объекта в строку. В случае, если python / IPython запущен в терминале, это может быть установлено на 0, а pandas будет правильно автоматически определять ширину терминала и свопировать в меньший формат, если все столбцы не поместились бы вертикально. Ноутбук IPython, qtconsole IPython или IDLE не работают в терминале и, следовательно, невозможно выполнить правильное автоматическое обнаружение. Значение «None» означает неограниченное количество. [подчеркивание не в оригинале]

blockquote>

для параметра width:

Ширина отображения в символах. В случае, если python / IPython запущен в терминале, это может быть установлено на None, а pandas будет правильно автоматически определять ширину. Обратите внимание, что IPython-ноутбук, qtconsole IPython или IDLE не запускаются в терминале и, следовательно, невозможно правильно определить ширину.

blockquote>

5
задан Oleksandr Firsov 23 July 2015 в 14:54
поделиться

1 ответ

Зеленый цвет - это пространство HSV, которое имеет H = 120, и оно находится в диапазоне [0, 360].

OpenCV уменьшает значения H для диапазона [0,255], поэтому значение H вместо того, чтобы находиться в диапазоне [0, 360], находится в диапазоне [0, 180]. S и V все еще находятся в диапазоне [0, 255].

Как следствие, значение H для зеленого составляет 60 = 120/2.

Вы должны иметь верхнюю и нижнюю границу be:

// sensitivity is a int, typically set to 15 - 20 
[60 - sensitivity, 100, 100]
[60 + sensitivity, 255, 255]

UPDATE

Поскольку ваше изображение довольно темное, вам нужно использовать нижнюю границу для V. С этими значениями:

sensitivity = 15;
[60 - sensitivity, 100, 50]  // lower bound
[60 + sensitivity, 255, 255] // upper bound

результирующая маска будет выглядеть так:

Подробнее см. этот ответ .

16
ответ дан Community 27 August 2018 в 23:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: