Статья
Дефектные пиксели в Альтрон: построение карты и коррекция в реальном времени
Вы открываете отсканированное изображение и видите тонкую яркую линию, идущую от верха изображения до низа. Проверяете следующий скан — та же линия, точно в том же столбце. Обычно причина — один из дефектных пикселей сенсора. В линейной камере каждый пиксель повторяется в каждой строке, поэтому один неисправный пиксель превращается в сплошную линию через всё изображение.

Абсолютно безупречных сенсоров не бывает. Почти у каждого сенсора есть несколько «мёртвых» или «горячих» пикселей. Вопрос не в том, есть ли они у вас, а в том, что с ними делать.
В Альтрон всё это делается одним узлом: BPC-Bad Pixel Correction. Этот же узел строит карту и корректирует пиксели во время работы. Он работает как с линейными, так и с матричными камерами. Его панель настроек открывается под заголовком Runtime BPC.
Логика проста. Мы не пытаемся в каждом кадре угадать, какой пиксель дефектный, потому что такая догадка может стереть и реальные детали изображения. Вместо этого мы один раз строим точную карту, а затем корректируем только эти известные пиксели.
- Направьте камеру на равномерную сцену. Для тепловизионной камеры хорошо подойдёт та же равномерная сцена, которую вы использовали для коррекции неоднородности.
- Нажмите Start Learn. Во время обучения на кнопке отображается число кадров.
- Когда наберётся достаточно кадров, нажмите кнопку ещё раз. Карта будет построена, и программа спросит, куда сохранить файл bpc.
- После обучения опция Apply BPC отмечается автоматически, а путь к файлу отображается в Ref file.
В следующий раз просто загрузите тот же файл кнопкой Load Map. Если понадобится начать заново, очистите карту кнопкой Clear.
Edge-aware (directional): Включена по умолчанию. Заменяет дефектный пиксель исправными соседями вдоль края, а не поперёк него. Без этой опции дефектный пиксель, попавший на резкий край, заполняется средним значением обеих сторон края, и появляется размытое пятно. При контроле кромок эта разница существенна.
RTS suppression (amp-gated): При обучении, помимо «мёртвых» и «горячих» пикселей, помечает также пиксели, слишком сильно колеблющиеся от кадра к кадру. Эта опция влияет на следующую обучаемую карту, а не на текущую.
Что происходит без карты? Если карта не загружена, узел переходит на адаптивную медиану. Таким образом, он работает и без калибровки, но обученная карта точнее.
В разделе Line-scan defective pixels два числа. Neighbor count задаёт, сколько соседей с каждой стороны проверяется при обнаружении. Значение ноль отключает эту проверку. Threshold % задаёт, насколько пиксель должен отличаться от среднего по соседям, чтобы считаться дефектным.
Низкий порог повышает чувствительность, но может сгладить и мелкие реальные детали. Высокий порог улавливает только серьёзные дефекты. Если на линейной камере загружена подходящая обученная карта, коррекция выполняется по этой карте.
Если вы меняете Apply BPC, Edge-aware, RTS suppression или две настройки для линейной камеры, изменение не попадает в плагин, пока вы не нажмёте Set. Мы не раз видели, как кто-то менял порог и удивлялся, почему изображение не изменилось.
Положение этого узла в графе имеет значение. Дефектный пиксель — физический дефект сенсора, поэтому его коррекция должна идти до косметических изменений, таких как гамма и повышение резкости. Если поставить его после них, фильтр резкости сначала создаст ореол вокруг дефектного пикселя, и тогда его уже не удастся убрать.
Краткий общий материал о дефектных пикселях: Википедия (на английском).
Эта функция применяется также для Тепловизионная камера. Если на вашем сенсоре видна линия, которую этот метод не убирает, воспользуйтесь страницу контактов , чтобы прислать нам её изображение.