2015-01-23 3 views
0

В настоящее время я пытаюсь обрезать лицо вместе с волосами с помощью методов сегментации изображения, а затем я установил все непрозрачные пиксели прозрачными. Затем я пытаюсь для применения техники Binary Threshold и Adaptive Threshold. Но я получаю нежелательные результаты. К сожалению, методы OpenCV не игнорируют прозрачные пиксели, а в документации не определено, как обрабатывать этот случай. Любая опытная помощь оценена (Однако я могу заменить прозрачные пиксели на значение цвета, при условии, что получаю желаемые результаты)[Обработка изображений] Порог не игнорирует прозрачные пикселы

изображение 1.png (оригинальное изображение с прозрачным фоном) enter image description here

Image2.png (изображение после применения простого двоичного порога) enter image description here

enter image description here Image3.png (изображение после адаптивного порога)

Очевидно, что некоторые искажения изображения/шум видны в прозрачных областях изображения?

+1

использовать альфа-канал, чтобы создать 'двоичный 8 битный mask' и использовать' mask' параметр для всех функций, таких как 'threshold', если они позволяют этот параметр или создать временный файл, который игнорирует прозрачность и '.copyTo' ваш конечный результат, используя' mask'. – Micka

ответ

0

И я был в состоянии решить эту проблему, я отправляю этот ответ, чтобы помочь другим людям в образовательных целях и из-за ограниченного разъяснения об этом. Таким образом, взлом должен изменить цвет фона на белый (он работал в моем случае, но вы можете выбрать какой-либо другой цвет фона). Итак, теперь я покрасил все пиксели с альфа-значением 0, пока цветные непрозрачные пиксели, а затем применили требуемые операции. И выходы были в ожидании:

enter image description here

Затем применили еще некоторые функции обработки изображений, чтобы создать это изображение из thi s:

enter image description here

+0

Я заинтригован этим твоим хаком. Но еще раз, как вы получили окончательный образ? Я не понимаю. –

Смежные вопросы