Странные скрытые слои в изображении PNG, должны быть удалены - PullRequest
0 голосов
/ 12 июня 2018

Мне нужно создать бинарную маску из изображения (автомобиль на белом фоне), но получающаяся маска кажется неправильной из-за присутствия некоторых скрытых слоев в исходном изображении, которые не могут быть визуально видны на исходном изображении,Первоначально изображение было в формате JPG, но я преобразовал его в формат PNG.

Прикреплено исходное изображение и полученная двоичная маска.

Исходное изображение

Результирующая маска

Кто-нибудь знает, в чем может быть причина и как с ней бороться?

Думаю, некоторое время назад я столкнулся с подобной проблемой и решил ее с помощью:

convert -flatten image.png image.png

Но на этот раз это не поможет.

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

Как только что сказал Ксеноид, вы начинаете с изображения, у которого нет чистого белого фона.Поэтому в ImageMagick попробуйте это:

convert S8utS.png -fuzz 2% -fill white -opaque white -fill black +opaque white -morphology open octagon:5 result.png

enter image description here

-морфология закрывает некоторые белые дыры внутри черной области.

0 голосов
/ 12 июня 2018

Нет скрытых слоев ... Просто простые артефакты сжатия JPEG, которые делают ваш белый не совсем белым.Если ваша маска только там, где пиксели точно (255 255 255), то эти пиксели не включены.Если вы не можете получить это значение, используя порог, вам следует увеличить контраст и / или яркость, чтобы сделать ваш цвет не совсем белым настоящим белым.Это можно сделать на копии исходного изображения (другими словами, вы можете получить маску из копии, оптимизированной для извлечения маски).

...