Важная информация

User Tag List

Страница 4 из 4 ПерваяПервая 1234
Показано с 31 по 36 из 36

Тема: Чанка 2х2

  1. #31
    Member Аватар для tae1980
    Регистрация
    09.09.2018
    Адрес
    г. Саратов
    Сообщений
    175
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    11 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    неправильно - нужно два не самых ближайших, а два таких, между яркостями которых лежат обе яркости блоков
    Имелось ввиду. Что если для двух блоков будет определен одинаковый цвет, а в исходных данных более 1 цвета, то выбираем этот цвет и второй самый ближний.

    На 16 цветах очень хорошо показал себя метод определения самого частого цвета для каждых 4 точек из 8. Так как важно не просто найти два самых частых цвета, а соблюсти переход цвета между байтами (группами из 8 точек). Без этого линии которые идут под углом теряют плавность и получаются угловатыми, так как цвета внутри группы необязательно распределены равномерно. Но и просто хватать крайние нельзя.
    Думаю можно упростить подбор основных цветов до этого.
    Последний раз редактировалось tae1980; 04.02.2019 в 20:10.

  2. #31
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #32
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    2,719
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tae1980 Посмотреть сообщение
    Имелось ввиду. Что если для двух блоков будет определен одинаковый цвет, а в исходных данных более 1 цвета, то выбираем этот цвет и второй самый ближний.
    нет, и это неправильно, для нормального распределения ошибки нужно полное покрытие, повторяю:
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    два таких, между яркостями которых лежат обе яркости блоков
    то есть, если групповые условно 4.9 и 5.1 - выбирать нужно 4 и 6 (а не 5 и 6 и не 4 и 5)
    если 3.7 и 7.2 - выбираем 3 и 8 итд, а вовсе не "самый ближний"

    - - - Добавлено - - -

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

  4. #33
    Member Аватар для tae1980
    Регистрация
    09.09.2018
    Адрес
    г. Саратов
    Сообщений
    175
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    11 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    а вовсе не "самый ближний"
    Как писал в примере выше, получаем в двух группах 64 и 60. В палитре ближайшие цвета 66, 73. То есть для обоих групп будет возвращен цвет 66. И все 8 точек получит одинаковый цвет. По этому вторым цветом будет взят 73.
    Долго думал об округление. В статьях сказано, что округлять нельзя вообще. Но у нас градации серости идут от 0 до 256, а цветов всего 16, получаем средний шаг в 16 единиц. На практике видел шаг и в 50 единиц. То есть, округлять можно в любую сторону, на результате это не отразится.

    Так же я пробовал выставить все 256 цветов по значению их серости, надеялся получить плавный переход одного цвета в другой, для палитры. На практике же оказалась, что цвета перемешаны, хотя и в меньшей степени. Например, идет ряд черных оттенков, потом потом один синий оттенок и снова пошли черный. Такие аномалии есть и в других цветах. То есть используя серость для поиска ближайшего цвета, можно без проблем получить синий вместо черного. Что мне крайне не нравиться. Но другого метода поиска ближайшего цвета я не нашел.

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    несколько градиентов
    Собственно, эту задачу я и хотел решить с помощью чанки. Исходя из палитры разработать несколько видов чанки с учетом возможных цветов. После чего просто подбираем цвета и вид чанки для группы точек 2х2.
    Пробовал вместо чанки использовать для группы 2х2 и отличие точке от средней серости по группе (как при переводе в чб). Надеялся, что так получится сохранить направления основных линий.
    Но получилось не ахти, как раз все линии оказались размыты, как веником прошли. Хотя может просто рано бросил тему, не найдя своих косяков.

  5. #34
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    2,719
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tae1980 Посмотреть сообщение
    Как писал в примере выше, получаем в двух группах 64 и 60. В палитре ближайшие цвета 66, 73. То есть для обоих групп будет возвращен цвет 66. И все 8 точек получит одинаковый цвет. По этому вторым цветом будет взят 73.
    говорю же - НЕПРАВИЛЬНО! нужно первым брать 66 и вторым - какой там ближайший будет меньше 60 - чтобы твои 64 и 60 находились МЕЖДУ ними
    точно так же, как при конверсии в монохром любой цвет по яркости расположен между нулевой и максимальной яркостями (они же целевые цвета)

    - - - Добавлено - - -

    ты пойми, что цель распределения ошибки - получить ближайшую к оригиналу среднюю яркость локального участка (у тебя 8x1)
    которая выражается формулой n*max+(8-n)*min; должна быть между 64 и 60; а у тебя получается даже min=66 больше чем 64
    Прихожу без разрешения, сею смерть и разрушение...

  6. #35
    Member Аватар для tae1980
    Регистрация
    09.09.2018
    Адрес
    г. Саратов
    Сообщений
    175
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    11 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    выражается формулой n*max+(8-n)*min; должна быть между 64 и 60; а у тебя получается даже min=66 больше чем 64
    А нету цвета между 64 и 60.
    Для данной картинке фотошоп подобрал такую палитру: 0 33 66 73 90 107 113 115 139 141 173 179 213 215 221 255.
    Ближайшие цвета 33 66 73. Как быть?

  7. #36
    Moderator Аватар для CodeMaster
    Регистрация
    26.04.2009
    Адрес
    Воронеж
    Сообщений
    4,853
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tae1980 Посмотреть сообщение
    А нету цвета между 64 и 60.
    Да не между ними, а что бы они были между, т.е. 33 и 66
    Рыцарь ордена Хламовников

    Мои магазины на Мешке: Retro store и Компьютерные комплектующие

Страница 4 из 4 ПерваяПервая 1234

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Заполнение чанка
    от GM BIT в разделе Программирование
    Ответов: 3
    Последнее: 12.08.2011, 17:13

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •