13.1.13. Редактор порога

Отслеживание цвета с помощью find_blobs() целиком зависит от своего кортежа порога – шести чисел LAB (или двух чисел оттенков серого), которые определяют, какие пиксели считаются целью. Редактор порога, в Tools → Machine Vision → Threshold Editor, превращает поиск этих чисел из гадания в визуальную настройку: перетаскивайте ползунки, наблюдайте, какие пиксели загораются, и копируйте кортеж, когда цель сплошь белая, а всё остальное чёрное.

Редактор порога настраивает порог LAB: исходное изображение слева, бинарный предпросмотр справа с белой целью, шесть ползунков LAB ниже и кортеж порога в поле вывода

Редактор порога в процессе настройки: бинарный предпросмотр справа показывает, что́ в данный момент отслеживает кортеж порога внизу.

Редактор открывается либо над живым буфером кадра, либо над файлом изображения с диска. Он показывает исходное изображение и бинарный предпросмотр рядом – белые пиксели в предпросмотре – это пиксели, которые отслеживает текущий порог – с ползунками минимума и максимума для каждого канала снизу. Выберите оттенки серого или LAB с помощью селектора, перетаскивайте ползунки, пока бинарный предпросмотр не выделит цель, и скопируйте кортеж порога из поля вывода в свой скрипт. Флажок Invert инвертирует выделение, а Reset Sliders начинает заново с полностью открытого диапазона.

Практическая процедура: наведите камеру на реальную сцену при реальном освещении, запустите скрипт, чтобы буфер кадра содержал репрезентативный кадр, откройте редактор над буфером кадра и сужайте каждый канал по очереди – обычно сначала A и B для цветной цели, затем L в последнюю очередь и как можно свободнее, поскольку освещение сдвигает L гораздо сильнее, чем A и B.

13.1.13.1. Редактирование кортежа на месте

Редактор также связан с редактором скриптов. Выделите существующий кортеж порога в скрипте – (30, 100, 15, 127, 15, 127) или пару значений оттенков серого – щёлкните правой кнопкой и выберите пункт редактора порога из контекстного меню. Редактор откроется с заранее загруженными этими значениями и при нажатии OK запишет скорректированные числа поверх выделения (Cancel их отбрасывает). Перенастройка развёрнутого скрипта под новое освещение – быстрая работа, выполняемая таким образом.