J2KGo v1.0.0发布:高性能、零依赖、纯Go语言JPEG2000图像编解码库

@Ta 15小时前 66点击
J2KGo v1.0.0发布:高性能、零依赖、纯Go语言JPEG2000图像编解码库

开发OFDGo、PDFGo时,需要处理文档中嵌入的JPEG2000图像。随着接触的文件越来越多,大图解码、内存占用和跨平台部署成了需要持续解决的问题,J2KGo也是从这些实际需求中做起来的。

J2KGo现已发布v1.0.0,并已应用于OFDGo和PDFGo。

原生实现,简化部署

J2KGo的编解码由Go原生实现,仅使用标准库,不依赖CGO、动态库或外部程序,也不是对C/C++库的封装。

对于Go项目,可以沿用现有工具链构建和交叉编译,无需额外准备原生库及其运行环境。也支持编译为WebAssembly,在浏览器中处理图像。

编码解码,灵活调用

支持J2K裸码流和JP2格式,提供无损、有损编码,以及质量分层、码率控制和感兴趣区域编码能力。

接口尽量贴近Go标准库的使用习惯。导入包后,可以通过image.Decode读取图像,也可以直接调用编解码接口。对于需要保留原始图像数据的场景,还提供分量访问接口,保留样本精度、符号和采样信息,不强制转换为常规显示图像。

大图处理,按需读取

支持区域解码、分块读取和降低分辨率解码。生成预览、读取局部或分块处理时,不必每次都将整张图像完整展开。

同时提供库内资源限制、解码并发控制和取消机制,让调用方能根据运行环境和业务需求控制处理过程。

J2KGo虽然起步于OFD、PDF中的图像处理需求,但本身是独立的编解码库,不依赖这两个项目。希望它能为需要处理JPEG2000的Go开发者,提供一个原生实现、依赖简单、方便集成的选择。

项目采用Apache-2.0协议开源,仓库中提供了使用示例。欢迎使用,也欢迎反馈实际文件中遇到的问题。

J2KGo:https://github.com/xiaoqidun/j2kgo
OFDGo:https://github.com/xiaoqidun/ofdgo
PDFGo:https://github.com/xiaoqidun/pdfgo
回复列表(0|显示机器人聊天)
帖子没有回复
添加新回复
回复需要登录。