Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

На цветном Bitmap есть черные линии, как их выловить программой ? [D6, WinXP]


SiDoff ©   (2004-03-11 19:29:00) 

Есть цветная картинка (рожа человеческая). На рожу проецируют с промежутком черные линии. Потом ЕТО фотографируют. На полученном bitmap'e надо эти черные линии програмно выловить.

Может кто занимался этим ? Посоветуйте !

Я нахожу яркость пикселя = 0.3*r+0.59*g+0.11*b
если центр чёрной линии то это значение min
если центр промежуточной линии (белой) линии то это значение max

Вообщем, таким макаром хорошо выделяются только места четкие, а где, например , тень - там БАЙДА.


Mihey   (2004-03-13 22:29:00) [1]

Подойдёт любая графическая библиотека: ImageEn, Envision Graphic Library, но такаие вещи обычно делают через готовые алгоритмы, например, вот тут:

http://delphibase.endimus.ru(раздел Мультимедиа)


SiDoff   (2004-03-13 21:41:00) [2]

Ладно, пасиба. Буду мучить пока, вдруг да че выйдет. Кстати не подскажешь нормальный компонент для увеличения резкости (типа Photoshop'ской), гаммы и прочее.


Mihey   (2004-03-12 22:41:00) [3]

Забыл добавить, что проект использует Graphic32, он нужен для компиляции. Скачать можно с: www.g32.org.


Mihey   (2004-03-12 22:16:00) [4]

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

http://www.hot.ee/mvps16/liner.rar

Кроме того, по прежнему остаются те тёмные области. Я пробовал улучшать гамму - рассмотрел прекрасно ухо, но линий там нет, так что с ними остаётся делать только одно - стереть и попытаться соединить торчащие концы. Это можно сделать при помощи средней линии - отсчитывать количество параллельных линий от центральной, например:



Имеем разрыв и центральную линию:

|   |   |
|   |   |
|   |   |
       |
       |
       |
|   |   |
|   |   |

Отсчитываем концы:

|      |       |
|      |       |
|      |< 1ая  |
              |
              |
              |
|      | < 1ая |
|      |       |

Соединяем концы линией:

|      |       |
|      |       |
|      |< 1ая  |
      |       |
      |       |
      |       |
|      | < 1ая |
|      |       |



Трудности возникнут с определением обрыва. Идей мало тут. Можно попробовать пройтись по длине линии сверху вниз.

Могу ещё помочь. Тебе зачем это надо? Наверное, что-то будешь делать с изображениями. Советую не пытаться написать программу, которая полностью сделает всю работу, а сделать что-то вроде инструментария для ускореной обработки.


SiDoff   (2004-03-12 15:03:00) [5]

Вот архив с картинкой http://www.siddelphi.narod.ru/_image.exe
243Kb
3 минуты качается


Mihey   (2004-03-12 13:08:00) [6]

Не могу скачать, загрузи на www.by.ru, можешь также сконвертировать в PNG без потери качества или запаковать. Большая картинка очень пригодилась бы.


SiDoff   (2004-03-12 01:56:00) [7]

Нет не пробуй )


SiDoff   (2004-03-12 01:37:00) [8]

Если тормозит www.siddelphi.narod.ru
пробуй http://www.siddelphi.boom.ru


Mihey   (2004-03-12 01:35:00) [9]

> сначала её надо найти, затем от неё в ЛЕВО и в ПРАВО ищутся линии).

Это очень важное замечание. Т.е. параллельно (в объёме, не на картинке) синей линии идут остальные? Это упрощает задачу офигенно. Завтра к поздно вечером предложу что-нить новенькое.


SiDoff   (2004-03-12 01:08:00) [10]

Попробуй с новой картинкой 720x520 http://www.siddelphi.narod.ru, но надо ЧЁРНЫЕ линии (там на bmp есть синяя линия - [r=0 g=0 и b~255] сначала её надо найти, затем от неё в ЛЕВО и в ПРАВО ищутся линии). Если будет так же то твоя прога чемто лучше.


Mihey   (2004-03-12 00:29:00) [11]

Мне удалось облиновать до такого уровня:

http://www.hot.ee/mvps16/scr1.png

Если это устроит, то выложу исходник.


Mihey   (2004-03-11 22:46:00) [12]

Вообще, весьма интересная вещь. Могу посоветовать сканит каждую полосу и составлять график перепадов. Ладно, я через часик ещё напишу, поработаю с этим.


SiDoff   (2004-03-11 21:43:00) [13]

Нет конечно !
Как выглядят линии на картинке можно глянуть тут:
www.siddelphi.narod.ru


Mihey   (2004-03-11 20:07:00) [14]

Линии прямые?


Наверх

Титульная страница Поиск, карта сайта Написать письмо