Последний раз редактировалось NEO SPECTRUMAN; 06.01.2021 в 13:34.
Можно квантовать изображение и сравнивать полученные цвета с палитрами и выбирать наиболее подходящую. Но я не заморачивался этим, для небольшого кол-ва палитр проще сделать простым перебором.
- - - Добавлено - - -
В этом случае - квантование. Других вариантов нет.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
по генерации самой палитры вот
http://pc01.lviv.ua/forum/viewtopic....start=30#p2346
суть такова что битами d6,d5,d4 выбираем основной цвет (зеленый при этом инверсный)
![]()
осталные цвета задаются инвертированием компонент основного цвета
2-й цвет - битами d3,d2
3-й цвет - битом d1
4-й цвет - битом d0
![]()
d7 - вообще отвечает за заглушку внешнего динамика
на случай если хочется пищать только на магнитофон (но помойму пзу это не использует)
строение байта экрана вроде такое (1 пиксель находится одновременно в обоих ниблах)
Код:----T---T---T---T---T---T---T---¬ ¦ 7 ¦ 6 ¦ 5 ¦ 4 ¦ 3 ¦ 2 ¦ 1 ¦ 0 ¦ Байт экранного ОЗУ L-T-+-T-+-T-+-T-+-T-+-T-+-T-+-T-- ¦ ¦ ¦ L---+---+---+---* ¦ ¦ L-------+---+---* ¦ ¦ L-----------+---* ¦ ¦ L---------------* ¦ ¦ ¦ ¦ ¦ ¦ ¦ --+-T-+-T-+-T-+-¬ ¦ 1 ¦ 2 ¦ 3 ¦ 4 ¦ Пикселы на экране
для стандартной RGB палитры ($F по счету)
0xxx0xxx - black
0xxx1xxx - blue
1xxx0xxx - green
1xxx1xxx - red
щас раздуплим какие это логические цвета для поллитры
- - - Добавлено - - -
соответствие байта экрана битам палитры такое
0xxx0xxx - d3,d2
0xxx1xxx - d0
1xxx0xxx - d6,d5,d4
1xxx1xxx - d1
а ну и до
экран линейный слеванаправо сверхувниз 64х256 байта
пиксели прямоугольные надо уточнять
давайте предположим что частота пикселей 5МГц
и что пиксели в ширину 1,4 относительно спектрумовских(я всегда считал как 1,5)
- - - Добавлено - - -
самая ровная фотка с экрана
![]()
https://ibb.co/1G6GtFX
256х256 без сохранения пропорций для проверки
и надо как то сохранять номер палитры
нето ложить его в имя файла
нето ложить последним байтом
- - - Добавлено - - -
Dec, еще полезно продублировать бегунки обычным цифровым вводом
например может понадобится конвертировать жменю изображений с одинаковыми настройками (и не обязательно за один заход)
чтоб они примерно одинаково выглядели
а выцеливать нужную цифру бегунком сомнительное удовольствие
Последний раз редактировалось NEO SPECTRUMAN; 06.01.2021 в 15:18.
Dec(06.01.2021)
Белый всегда белый (не серый)?
Что-то у меня не выходит твой алгоритм кодирования палитры. Возьмем палитру №40 (слева твое, справа мое):
40 = 010 10 0 0
Цвет 1: 010
0,0,0: черный
Цвет 2: 10 - xor-им BG цвета 1
0, 255, 255: голубой
Цвет 3: 0 - xor-им R цвета 1
255, 0, 0: красный
Цвет 4: 0 - xor-им BGR цвета 1
255, 255, 255: белый
Как у тебя получается два голубых цвета?
И еще бы ты дамп экранной области сделал.
Да, давно собирался сделать, руки никах не доходили.
не знаю чего так и так ли вообще
вроде там ничего такого на схеме и нет
но дето упоминалось о том что цвета получаются грязные
может это подмешивали к каждой компоненте дополнительно сигнал video (там 4-й на схеме)
цветным я оно никогда не видел
точно сказать не могу...
- - - Добавлено - - -
элементароно вацусон
у меня пол литра сделана ручками (и видмо проскочило ошибко)
вот тебе из более надежного источника (собственно та картинка сделана из этой : )
тут вроде такого нету
да и сам алгоритм раздуплен именно из этой картинки
и с реалом это скорей всего не сверено
так же сам "алгоритм" не проверен для всех цветов
все что я брал для проверки совпадали
на схеме просто избыточная наглядность
![]()
- - - Добавлено - - -
дампы экранов
https://dropmefiles.com.ua/ru/7ZvH4fME
дублирую еще тут
https://anonfiles.com/ZbA6l86ep6/lvov_7z
Последний раз редактировалось NEO SPECTRUMAN; 06.01.2021 в 19:06.
NEO SPECTRUMAN(07.01.2021)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)