Как передать информацию RGB, чтобы сделать порог изображения - PullRequest
0 голосов
/ 06 июня 2019

Я получаю изображение маски и изображение RGB из Unreal Engine, используя UnrealCV. Здесь я также получаю информацию о цвете (R, G, B) объекта, используя UnrealCV, из изображения маски. Теперь я хочу знать, как я могу передать эту информацию RGB в OpenCV для выполнения установки порога.

Сейчас я занимаюсь этим, преобразовывая изображение маски в изображение в градациях серого, а затем выполняю настройку порога. Но я не хочу этого делать. Я проверил этот ответ , но здесь использовался диапазон изображений, чего я тоже не хочу делать. Как и в изображении маски, каждый объект имеет свою уникальную информацию о цвете, поэтому я просто хочу быть более точным, отправив RGB-информацию о желаемом объекте из изображения маски, а затем хочу сказать OpenCV выполнить пороговое значение для цвета, который у меня есть. отправлено в функцию порога OpenCV.

Код, используемый для получения информации RGB, -

get_mask_color= client.request('vget /object/object_name/color')

Это даст цвет маски, а затем я хочу передать его в OpenCV для цели установки порога.

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

1 Ответ

0 голосов
/ 06 июня 2019

В изображении в оттенках серого пороговое значение отделяет темные пиксели от светлых, т. Е. Разбивает серый диапазон на два подинтервала. Это основано на (наивной) предпосылке, что объект интереса сделан из самых светлых (или самых темных) цветов.

Несколько более логичный подход заключается в рассмотрении значений пикселей внутри подинтервала, определяемого двумя пороговыми значениями (средний цвет ± максимальное отклонение). Если объект интереса имеет несколько различных цветов, каждый соответствует интервалу значений серого, и они будут перекрываться или нет. На практике это работает плохо, потому что многие другие функции в сцене могут иметь одинаковые уровни серого.

В случае с цветом все сложнее. Равномерный цвет определяет одну точку в пространстве RGB, и когда вы принимаете во внимание вариации, вы наблюдаете весь объем с определенной формой. Если вам повезет, форма представляет собой компактный эллипсоид; если имеются эффекты затенения и / или тени, форма может быть конусообразной и более расширенной.

Опять же, когда объект сделан из нескольких цветов, объем может быть сделан из нескольких перекрывающихся или изолированных форм.

Чтобы справиться с данным приложением, вы должны понять форму облака RGB, соответствующего вашему объекту, и найти подходящее геометрическое описание. В качестве первого приближения вы можете использовать куб или сферу с заданным центром и экстентом.

...