当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

jbig2enc

JBIG2 编码器
授权协议 Apache
开发语言 C/C++ Python SHELL
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 不详
投 递 者 斜单鹗
操作系统 Linux
开源组织
适用人群 未知
 软件概览

jbig2enc 是用于 JBIG2 的编码器。

JBIG2 使用一些聪明的技巧来对 bi-level (1 bpp)图像进行编码,以获得比 G4 更好的压缩。这个编码器可以:

  • 生成 JBIG2 文件或片段,以嵌入到 PDF 中

  • 通用区域编码

  • 符号提取,分类和文本区域编码

  • 压缩多页文档

用法

查看高级 API 的 jbig2enc.h 头文件或 jbig2 程序以查看使用示例

$ jbig2 -s -p -v *.jpg && pdf.py output >out.pdf

编码 jbig2 文件以用于 pdf 的创建。如果你想编码一个图像,并在 pdf 中查看输出

$ jbig2 -s -S -p -v -O out.png *.jpg

如果要将图像编码为 jbig2(可以在 STDU 查看器中查看),运行:

$ jbig2 -s feyn.tif >feyn.jb2
  • 有网友希望提供 PDFPatcher 的 JBIG2 编码库,因发此博文。 此处提供的编码库源自agl在Github的开源代码。该代码编译后输出 EXE 文件,编码现存位图文件或 StdIn 提供的数据,未提供被其它应用程序调用的 DLL 库。为了在 PDF 补丁丁中增加 JBIG2 编码功能,我修改了该代码,去除了其有损压缩功能及 Leptonica 图像库的依赖关系,减少了编码器的文件大小。

  • 压缩程序: #include <stdio.h> #include <stdlib.h> #include <stddef.h> #include <string.h> #include "jbig.h" #include "mex.h" #include "jbig1.h" #include "jbig_ar1.h" unsigned char *testbuf; long testbuf_le

 相关资料
  • 问题内容: 我正在工作的项目是使用Jackson JSON 序列化程序将一堆Java对象转换为String,以便将它们发送到REST服务。 其中一些对象包含敏感数据,因此我编写了自定义序列化程序以将这些对象序列化为JSON字符串,然后对其进行gzip,然后使用; 对其进行加密。 这会将字符串转换为字节数组,因此我在编解码器中使用Base64编码器将字节数组转换为字符串。REST接口背后的自定义反序

  • 任何HTML或XML文档都有自己的编码方式,比如ASCII 或 UTF-8,但是使用Beautiful Soup解析后,文档都被转换成了Unicode: markup = "<h1>Sacr\xc3\xa9 bleu!</h1>" soup = BeautifulSoup(markup) soup.h1 # <h1>Sacré bleu!</h1> soup.h1.string # u'Sacr\

  • 任何HTML或XML文档都有自己的编码方式,比如ASCII 或 UTF-8,但是使用Beautiful Soup解析后,文档都被转换成了Unicode: markup = "<h1>Sacr\xc3\xa9 bleu!</h1>" soup = BeautifulSoup(markup) soup.h1 # <h1>Sacré bleu!</h1> soup.h1.string # u'Sacr\

  • 在我们真正开始去写代码之前,我们可能会去考虑一些事情。怎么去规划我们的任务,如何去细分这个任务。 如果一件事可以自动化,那么就尽量去自动化,毕竟你是一个程序员。 快捷键!快捷键!快捷键! 使用可以帮助你快速工作的工具——如启动器。 不过不得不提到的一点是:你需要去考虑这个需求是不是一个坑的问题。如果这是一个坑,那么你应该尽早的去反馈这个问题。沟通越早,成本越低。 编码过程 整个编程的过程如下图所示

  • 注: 内容翻译来自官网资料 Encoding. 这封文档描述protocol buffer消息的二进制格式. 在应用中使用protocol buffer不需要理解这些, 但是它对于了解不同的protocol buffer格式对编码消息的大小的影响非常有用. 简单消息 假设你有下面这个非常简单的消息定义: message Test1 { required int32 a = 1; } 在应用中

  • 编码要闻 所谓编码,是因为我们要把汉字,英文单词等,转化为二进制的数字,因为计算机只认识数字。 最开始的编码是ascii,当时还只能储存英文和某些字符,但是因为中国等其它国家并不使用英语,所以我们开始有了自己的编码,但是这个时候就出现了问题,因为它会不能避免的出现一些重合的东西,这个时候就出现了乱码,然后世界开始使用了unicode,不过它有个缺点就是它总是两个字节的储存东西,所以会造成资源的浪费

  • 回顾之前的定义,encoder 是用来把出站数据从一种格式转换到另外一种格式,因此它实现了 ChannelOutboundHandler。正如你所期望的一样,类似于 decoder,Netty 也提供了一组类来帮助你写 encoder,当然这些类提供的是与 decoder 相反的方法,如下所示: 编码从消息到字节 编码从消息到消息 MessageToByteEncoder 之前我们学习了如何使用

  • 我们已经在前两节中表征并变换了不定长的输入序列。但在自然语言处理的很多应用中,输入和输出都可以是不定长序列。以机器翻译为例,输入可以是一段不定长的英语文本序列,输出可以是一段不定长的法语文本序列,例如 英语输入:“They”、“are”、“watching”、“.” 法语输出:“Ils”、“regardent”、“.” 当输入和输出都是不定长序列时,我们可以使用编码器—解码器(encoder-de