ixJPEG-Python 是一个基于 ixJPEG 库的 Python 封装,提供了 JPEG 图像编码和解码的功能。
Must load pybind11 and install.
# corex sdk should be installed first
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/corex/lib64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/corex/lib64
# build library
bash build.sh
# build wheel
python3 setup.py bdist_wheel
Add current path to LD_LIBRARY_PATH for other applications.
- 处理目录中的多个图片:
python decode_example.py -devid 0 -i /path/to/images/directory -o /path/to/output/directory -fmt yuv
输出:每个图片将保持原文件名(不含后缀),添加指定格式的后缀 - 处理单个图片(输出到目录):
python decode_example.py -devid 0 -i /path/to/image.jpg -o /path/to/output/directory -fmt yuv
输出:将在指定目录中创建文件,使用输入文件名(不含后缀) - 处理单个图片(指定输出文件):
python decode_example.py -devid 0 -i /path/to/image.jpg -o /path/to/output/custom_name -fmt yuv
输出:将直接使用指定的文件路径(不需要添加后缀,程序会根据 fmt 参数自动添加正确的后缀)
注意:输出格式由 -fmt 参数指定,包括unchanged, yuv, rgb, bgr, rgbi, bgri, nv12, nv21,程序会自动为输出文件添加对应的后缀。
-b 指定批处理的图片数量,默认为1,即单张图片处理。
-batched 指定是否启用批处理模式,如果启用,程序会自动将输入目录中的所有图片按顺序处理,直到处理完所有图片。
-devid 指定使用的板卡设备ID,默认为0。
- yuv encode demo:
python3 encode_example.py -i 420.yuv -o ~/output/myyuv.jpg -width 1920 -height 1088 -sub 420 -fmt nv12
- bgr encode demo:
python3 encode_example.py -i 1.jpg -o ~/output/test.jpg -fmt bgr
注意:当输入是jpg格式时,会用opencv读取图片,因此需要安装opencv库。
本项目许可证遵循Apache-2.0。