Ребят, вопрос возможно глупый. Нужно RGB цвет конвертировать в чорно-белый

и потом каким-то образом получить изначальный цвет из чорно-белого пикселя. У кого-то есть примеры или какая-то статья, как это можно сделать? А то походу я гуглить не умею)

28 ответов

76 просмотров

увеличить глубину чёрно белого канала))

Возьми по два старших бита из R, G и B и запакуй в grayscale. А потом обратно, когда нужно. Будет небольшая потеря инфы (и грейскейл картинка может странно выглядеть), но худо-бедно упаковать и восстановить будет можно.

Programier- Автор вопроса
Ivan Sokolov
увеличить глубину чёрно белого канала))

Та не, тогда смысла от конвертации у нас на проекте не будет) Тут просто цель сэкономить как можно больше памяти, по этому приходиться экономить на чём угодно

>Нужно RGB цвет конвертировать в чорно-белый Это просто. Самое очевидное и глупое: взять среднее rgb цвета по каналам. Чуть умнее: luminance посчитать (0.299 ∙ Red + 0.587 ∙ Green + 0.114 ∙ Blue)/ >получить изначальный цвет из чорно-белого пикселя Это уже сложнее. Говорят, что сейчас нейросети достаточно неплохо умеют раскрашивать.

Вопрос. Зачем?

Programier- Автор вопроса
koren
Вопрос. Зачем?

Памяти мало. Ну прям очень мало)

LaG1924
>Нужно RGB цвет конвертировать в чорно-белый Это п...

мб можно в HDR как-то закодировать в 1 канал, типо 1*R + round(256*G) + round(256*B)*256

Programier
Памяти мало. Ну прям очень мало)

Дак мало памяти, или цветопередача небольшая?

Programier- Автор вопроса
koren
Микроконтроллер?

Не, порт игры делаем на платформу с 4гб памяти, при том что изначально игру кое-как на 8 впихнули

Alexey Larionov
мб можно в HDR как-то закодировать в 1 канал, типо...

Если идет речь об упаковке нескольких каналов в один, то float-форматы не лучший выбор почти всегда.

Programier- Автор вопроса

Я хз, честно говоря, на этот проект я попал не так давно, по этому точно не скажу

Programier
NDA :)

А тех параметры?

Programier- Автор вопроса
Programier
Я хз, честно говоря, на этот проект я попал не так...

Ещё от данных зависит (и от поддерживаемых форматов на платформе). Несколько интересных вариантов форматов для рассмотрения: R9G9B9E5_SHAREDEXP, B5G5R5A1, BC7, R11G11B10_FLOAT.

koren
Ну платформу уже сказали. Свич

Не знаю какие там форматы (а если даже и знаю, то nda очень жесткие бывают), поэтому буду разговаривать на универсальном языке dxgi.

Dr. Friedrich von Never
Возьми по два старших бита из R, G и B и запакуй в...

В грейскейл влезут по три бита р и г. Но лучше перекодироват в цветоразностную схему и сделать что-то в духе 4Y2R2B/5Y2R1B/6Y1R1B, надо смотреть как потери меньше. Такой вариант, к тому же, будет адекватно (но немного шумновато) выглядеть в грейскейле. Еще лучше будет если даунсэмплировать цветоразностные каналы в 4:2:0.

LaG1924
Не знаю какие там форматы (а если даже и знаю, то ...

настолько жесткие, что даже на языке опенсорсного сдк нельзя?

Похожие вопросы

Обсуждают сегодня

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта