【问题标题】:1-bit RLE (Run Length Encoding) of B/W Image黑白图像的 1 位 RLE(运行长度编码)
【发布时间】:2018-11-21 03:58:43
【问题描述】:

我想为 Anycubic Photon 打印机构建一个自定义 3D 切片机。为此,我需要以 1 位 RLE 格式对每个切片(图像)数据进行编码。查看由 Anycubics 切片器生成的文件,我看到黑色像素组的 HEX 值为 0x7D。

据我了解 1 位 RLE 的编码,每个字节的第一位是颜色,其他 7 位是具有相同颜色的后续像素的数量。我希望一组 127 个黑色像素具有 b01111111 的二进制值和 0x7F (127) 的十六进制值。谁能告诉我我做错了什么?

【问题讨论】:

  • 你目前的结果是什么?错误信息、无输出等?
  • 您从哪里了解到它的外观?其他像素组看起来如何?

标签: image encoding binary run-length-encoding


【解决方案1】:

我想通了。我希望光子切片器将最大数量的像素与相同的颜色分组,因此对于 127 个像素将使用二进制值 b 0111 1111。事实证明,光子切片器将每个分组大小最大化为较低的值(因此 b 0111 1101) .不知道为什么 Photon 切片器会这样做,但使用标准解码我可以正确提取图像。

【讨论】:

  • 总的来说,您的主要问题是您必须查看发送到打印机的 0111 1111 类型的输入是否真的有效。请注意,某些 RLE 算法按 个像素工作,并且永远不会重复跨越到下一行。这可以解释这样的截止日期。
猜你喜欢
  • 2013-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-01
  • 2012-07-11
相关资源
最近更新 更多