Nano Hash - криптовалюты, майнинг, программирование

1-битное RLE (кодирование длины цикла) черно-белого изображения

Я хочу создать собственный 3D-слайсер для принтера Anycubic Photon. Для этого мне нужно закодировать данные каждого фрагмента (изображения) в 1-битном формате RLE. Глядя на файлы, созданные слайсерами Anycubics, я вижу, что группы черных пикселей имеют шестнадцатеричное значение 0x7D.

Насколько я понимаю, кодировка 1-битного RLE, первый бит каждого байта — это цвет, а остальные 7 бит — это количество следующих пикселей, имеющих одинаковый цвет. Я ожидаю, что набор из 127 черных пикселей будет иметь двоичное значение b01111111 и шестнадцатеричное значение 0x7F (127). Может ли кто-нибудь сказать мне, что я делаю неправильно?


  • Какой у вас сейчас результат? Сообщение об ошибке, нет вывода и т.д.? 12.06.2018
  • Откуда вы взяли свое представление о том, как это должно выглядеть? Как выглядят другие группы пикселей? 12.06.2018

Ответы:


1

Я понял. Я ожидал, что Photon Slicer сгруппирует максимальное количество пикселей одного цвета, и поэтому для 127 пикселей будет использоваться двоичное значение b 0111 1111. Как оказалось, Photon Slicer максимизирует каждый размер группы до меньшего значения (отсюда b 0111 1101). . Не знаю, почему слайсер Photon делает это, но используя стандартное декодирование, я могу правильно извлечь изображение.

12.06.2018
  • В целом, ваша основная проблема заключается в том, что вы должны увидеть, действительно ли будет работать ввод типа 0111 1111, отправленный на принтер. Обратите внимание, что некоторые алгоритмы RLE работают для каждой строки пикселей и никогда не имеют повторов, пересекающих следующую строку. Это могло бы объяснить такое отключение. 14.06.2018
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..