2014-10-04 4 views
1

Мне нужна помощь и, возможно, идея о моей работе. на самом деле я хочу сделать это:Как уменьшить шум на изображении

  1. делает обнаружение края на черно-белых изображений
  2. экспортировать только Обнаружен кромками
  3. сохранить его в формате * .png формате

Теперь у меня есть проблема. вы можете видеть это на картинке, что я связал ее.

pic 1 является базовым, pic 2 является обнаруженным краевым изображением, а pic 3 является png-форматом, но проблема возникает в pic3. фактически после этой строки (код C#).

btmimg.MakeTransparent(Color.Empty);  
Image img = (Image)btmimg; 
img.Save("1" + ".Png", ImageFormat.Png(; 

Я вижу шумы вокруг обнаруженных краев.

Example

Так кто-нибудь есть какие-либо идеи по этому поводу? как я могу уменьшить эти шумы?

Есть ли другой способ экспорта обнаруженных краев и создания нового изображения?

+0

Пожалуйста, объясните, почему перед сохранением изображения необходимо очистить все пустые (черные?) Пиксели. –

+0

На самом деле я хочу надеть (или комбинировать) image3 на image1. Чтобы увидеть изменения –

+0

Тогда вы должны сделать так, чтобы инвертировать результаты обнаружения края (поэтому черные части выглядят белыми и наоборот) и помещают их в альфа-канал простого белого изображения PNG. Боюсь, я не знаю, как это сделать на C#, но это не должно быть трудно найти. Также прекратите использование сжатия JPEG. Частично ваше «прозрачное» изображение настолько шумно, потому что вы, по-видимому, применяете обнаружение грани к изображению JPEG и усиливаете все артефакты сжатия. Вместо этого используйте PNG. –

ответ

0

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

И вам лучше не использовать сжатие изображения здесь и указать png, чтобы не сжимать.

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