Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Что это? 0b00000000

илья ярошенко Ученик (116), открыт 4 дня назад
у меня есть двухцветный OLED дисплей 128 на 64
0b00000000, 0b11000000,
0b00000001, 0b11000000,
0b00000001, 0b11000000,
0b00000011, 0b11100000,
0b11110011, 0b11100000,
0b11111110, 0b11111000,
0b01111110, 0b11111111,
0b00110011, 0b10011111,
0b00011111, 0b11111100,
0b00001101, 0b01110000,
0b00011011, 0b10100000,
0b00111111, 0b11100000,
0b00111111, 0b11110000,
0b01111100, 0b11110000,
0b01110000, 0b01110000,
0b00000000, 0b00110000
в этом закодировано изображение для него, как его раскодировать и как закодировать в такой формат?
киньте ссылку на конвертор (если такой есть)
5 ответов
nukanuka Ученик (225) 4 дня назад
не знаю
илья ярошенкоУченик (116) 4 дня назад
спасибо, очень информативно
Лайт Ягами Искусственный Интеллект (309396) 4 дня назад
Спецификацию дисплея смотреть надо
Анатолий Зяблин Просветленный (27383) 4 дня назад
## Декодирование изображения

Ваши данные представляют собой бинарное изображение для OLED дисплея 128x64. Каждый байт (8 бит) соответствует вертикальной полосе из 8 пикселей:

1. **Структура данных**: Каждая строка из 16 байт (128 бит) представляет одну горизонтальную линию изображения.
2. **Пиксели**: Бит со значением 1 означает включенный пиксель, а 0 — выключенный.

### Пример декодирования

Для декодирования можно использовать следующий подход:

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

## Кодирование изображения

Чтобы закодировать изображение в такой формат, выполните следующие шаги:

1. **Разделите изображение** на блоки размером 8x1 пикселей.
2. **Преобразуйте каждый блок** в байт, где каждый бит соответствует одному пикселю (1 — включен, 0 — выключен).
3. **Запишите полученные байты** в последовательном порядке.

### Пример кода на Python

Вот пример кода на Python, который преобразует изображение в нужный формат:
 from PIL import Image 

def image_to_oled_bytes(image_path, width=128, height=64):
img = Image.open(image_path).convert('1') # Конвертируем в монохромное
img = img.resize((width, height))

oled_bytes = []
for y in range(0, height, 8):
for x in range(width):
byte = 0
for bit in range(8):
if y + bit < height:
pixel = img.getpixel((x, y + bit))
byte |= (pixel & 1) << bit
oled_bytes.append(byte)

return oled_bytes

# Использование
bytes = image_to_oled_bytes('path_to_your_image.png')
for byte in bytes:
print(f"0b{byte:08b},")


Этот код позволяет вам загрузить изображение и преобразовать его в формат байтов для вашего OLED дисплея. Вы можете заменить `'path_to_your_image.png'` на путь к вашему изображению.
ewe 2e¶ CoЛнЫшКоcBeTиТоЧеНЬяРкО* Высший разум (327589) 4 дня назад
вроде на какую-то звезду похоже.
Конвертера скорее всего нет.
Похожие вопросы