13 个不稳定版本 (4 个破坏性更新)
0.5.3 | 2024年4月20日 |
---|---|
0.5.2 | 2024年4月20日 |
0.4.1 | 2024年4月14日 |
0.3.6 | 2024年4月19日 |
0.1.0 | 2023年2月28日 |
#76 在 图像 中
1,407 每月下载次数
在 6 个 crate 中使用(通过 jpeg2k)
1.5MB
36K SLoC
C2Rust 版本
在 openjp2-rs 中正在开发一个实验性的 Rust 版本。
要使用 Rust 版本构建 CLI 工具 opj_compress
/opj_decompress
/opj_dump
,请使用 CMake 标志 USE_RUST_LIB
。
mkdir build
cd build
cmake .. -DUSE_RUST_LIB=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release
make
OPENJPEG 库和应用
什么是 OpenJPEG ?
OpenJPEG 是用 C 语言编写的开源 JPEG 2000 编解码器。它旨在推广使用来自联合图像专家组 (JPEG) 的静态图像压缩标准 JPEG 2000。自 2015 年 4 月以来,它已被 ISO/IEC 和 ITU-T 正式认可为 JPEG 2000 参考软件。
谁可以使用此代码 ?
任何人。由于 OpenJPEG 代码是在 BSD 2-clause "Simplified" 许可证 下发布的,因此任何人都可以使用或修改代码,甚至用于商业应用。唯一的限制是在源代码或二进制文件文档中保留版权。当然,如果您以可能对其他用户有价值的任何方式修改了代码,我们鼓励您共享它(通过 github pull request 或通过填写 issue),但这不是必需的。
如何安装和使用 OpenJPEG ?
API 文档需要重大重构。同时,您可以查看 安装说明 和 编解码器文档。
当前状态
开发者是谁?
该库由卢万天主教大学(UCL)的图像与信号处理组(ISPGroup)开发并维护,得到法国国家空间研究中心(CNES)、CS公司和intoPIX公司的支持。JPWL模块由意大利佩鲁贾大学的数字信号处理实验室(DSPLab)开发。
文件夹层次结构详情
- src
- lib
- openjp2: 包含openjp2库的源代码(第1部分和第2部分)
- openjpip: 用于远程浏览jpeg 2000图像的完整客户端-服务器架构。
- bin: 包含所有使用openjpeg库的应用程序
- common: 所有应用程序的公共文件
- jp2: 一个基本的编解码器
- jpip: OpenJPIP应用程序(服务器和解码服务器)
- java: JPIP的Java客户端查看器
- wx
- OPJViewer: 基于wxWidget的显示j2k文件的GUI
- lib
- openjp2-rs:
src/lib/openjp2
的Rust版本 - wrapping
- java: 用于Java程序的jni封装openjpeg
- thirdparty: 一些应用程序使用的第三方库。如果系统上没有找到这些库,则将构建它们。请注意,libopenjpeg本身没有任何依赖。
- doc: doxygen文档设置文件和man页面
- tests: openjpeg测试套件的配置文件和工具。所有测试图像都位于openjpeg-data存储库中。
- cmake: cmake相关文件
- scripts: 开发者脚本
有关许可证和版权信息,请参阅LICENSE。
有关安装程序,请参阅INSTALL。
有关后续版本中的用户可见更改,请参阅NEWS。
已弃用组件
在2.4.0版本发布后,已删除openjpwl、openjp3d和openmj2组件。它们的构建和工作状态未知。对此感兴趣的人应从2.4.0标签开始。
API/ABI
API/ABI时间表会自动更新在此处。
OpenJPEG致力于为您的应用程序提供稳定的API/ABI。因此,它只公开其功能的一小部分。它使用导出/隐藏功能的机制。如果您不确定可以在您的应用程序中使用哪些功能,您应使用类似于gcc的编译标志编译OpenJPEG:-fvisibility=hidden
。有关更多信息,请参阅http://gcc.gnu.org/wiki/Visibility
在Windows上,MSVC直接支持导出/隐藏功能,因此可用的API仅为OpenJPEG支持的API。