Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> обработка изображений, бинаризация 
:(
    Опции темы
tHE_EGOiSTE
Дата 9.3.2008, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 19.10.2007
Где: Vyksa

Репутация: нет
Всего: 1



Привет всем! 

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

Кто нибудь что-нибудь похожее делал? Помогите пожалуйста реализовать... 

Заранее благодарен!
PM MAIL WWW ICQ Skype   Вверх
Azzdorf
  Дата 9.3.2008, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 29.3.2007

Репутация: нет
Всего: нет



--------------------
Иногда шаг вперед - это результат хорошего пинка под зад.
PM MAIL   Вверх
Alexsar
Дата 13.3.2008, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 6.5.2005

Репутация: 2
Всего: 1



можно серое изображения получить и так
Код

// Загружаем входной файл
Bitmap bmp = new Bitmap("in.bmp");

// Атрибуты серого изображения
ImageAttributes ia = new ImageAttributes(); 
ColorMatrix cm = new ColorMatrix(); 
cm.Matrix00 = 1/3f; 
cm.Matrix01 = 1/3f; 
cm.Matrix02 = 1/3f; 
cm.Matrix10 = 1/3f; 
cm.Matrix11 = 1/3f; 
cm.Matrix12 = 1/3f; 
cm.Matrix20 = 1/3f; 
cm.Matrix21 = 1/3f; 
cm.Matrix22 = 1/3f; 
ia.SetColorMatrix(cm); 

// Рисуем серое
Graphics g = Graphics.FromImage(bmp);
g.DrawImage(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height), 0, 0, 
        bmp.Width, bmp.Height, 
        GraphicsUnit.Pixel, ia); 
 
// Сохраняем выходной файл
bmp.Save("out.bmp");

PM MAIL   Вверх
tea_723
Дата 14.3.2008, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 13.9.2007

Репутация: нет
Всего: нет



.Net не умеет корректно работать с черно-белыми изображениями (все равно считает их argb). Если делать так, как описано в предидущих примерах, то для Paint файл безусловно станет ч/б, но если есть задача отправить его через факс сервер (VSI-FAX например), то тот в лучшем случае пошлет подальше, а в худшем может убить сам себя. В attached примере показано как делать convert используя LockBits.

Присоединённый файл ( Кол-во скачиваний: 31 )
Присоединённый файл  Bitonal.rar 52,01 Kb
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0402 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.