На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела "Программирование графики"
1) Данный раздел предназначен для обсуждения проблем, возникающих при программировании задач, связанных с чтением, сохранением, обработкой, созданием, отрисовкой графической информации (в том числе - 3D [OpenGL, Direct3D] и анимации [в т.ч. VFW, DirectShow, OpenDML]).
Флэш обсуждают здесь!.

2) Если вы хотите получить совет для конкретной платформы/языка программирования, обязательно укажите их в вопросе.

3) Уважаемые новички! Мы приветствуем Ваше желание научить всех посетителей раздела правильному программированию. Но огромная просьба, перед тем, как писать поучения в старых (последний ответ - "старее" месяца, а особенно, если вопрошавший не появляется на форуме уже не первый месяц, в чем можно убедиться в его профиле) темах, хорошо подумать, будет ли кому-нибудь, кроме Вас cамих, это интересно.



Ваше мнение о модераторах: user posted imageBarazuk, user posted imageOpenGL, user posted imageMikle
Модераторы: OpenGL, Mikle
  
> Алгоритм поиска контуров в изображении без учета яркости
    Необходимо выделить четкие контуры на картинке, а размытые не трогать.

    Первое, что пришло в голову - это перевести в ЧБ, сделать дубликат, один из которых немного размыть и вычесть из другого. Этот алгоритм для некоторых целей может вполне подойти, но проблема в том, что он сильно зависит от перепада яркости. Контур между темным и светлым участком значительно сильнее, чем где на темном идет черная линия.

    См. Пример 1 - локон волос, идущий на фоне белого воротника, ярко выделен, но на фоне темной рубашки граница очень слабая. Хотя визуально на глаз явно отслеживается контур одинаковой четкости в обеих областях.


    Вторая пришедшая в голову идея была выделить чистый оттенок цвета без учета яркости. Для этого преобразовал цвет в пространство HLS, где первая компонента H (HUE) является оттенком по цветовому кругу 0-360 градусов. Контуры стали еще менее заметны и проявились артефакты сжатия изображения в областях с однотонными заливками (см. Пример 2)


    Можете подсказать известные алгоритмы или же просто идеи как можно реализовать более равномерный поиск контуров?
      Но на приведённом рисунке контуры уже есть. Хорошо бы увидеть пример целевого изображения.
      Если целевое изображение такое же, но без контуров, то найти контуры не проблема - цвета однотонные, погрешности сжатия можно отфильтровать. Но оконтурятся все тени со всех сторон - тень от воротника, тень во рту и т. п.
        Это и есть исходное изображение. Рисунок тонкими линиями, с однотонными заливками разных цветов (стандартный кадр аниме). Так же есть средний план - нарисован так же, но размыт глубиной резкости. И есть задний план сильно размытый. Контуры нужно искать только на переднем плане. Средний и задний планы должны на маске остаться полностью черными. На рисунке 2 девушки - передний план, парень и комната не в фокусе.


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


        Рейтинг@Mail.ru
        [ Script execution time: 0,0231 ]   [ 15 queries used ]   [ Generated: 5.12.23, 09:28 GMT ]