使用 Python 进行 JP2 图像压缩
创建 Python 应用程序以通过服务器 API 压缩 JP2 图像和照片
如何使用 Python 压缩 JP2 图像和照片
图像的出版改编不仅包括创作过程,还包括技术调整,例如文件压缩。一般来说,印刷材料或户外广告需要高分辨率图像,而网站可能面临大文件大小的挑战。图像压缩设置可能会根据其预期用途和发布地点而有所不同。下载大文件可能需要相当长的时间,尤其是在移动连接上,从而影响整体用户体验。然而,过度压缩的图像可能会出现模糊和明显的像素化,从而损害视觉质量。要在文件大小和图像质量之间实现平衡,需要仔细选择算法和压缩级别。要以 JP2 格式压缩图像,我们将采用 Aspose.Imaging for Python via .NET API 是一个功能丰富、功能强大且易于使用的图像处理和转换 API,适用于 Python 平台。您可以使用系统命令中的以下命令安装它。
系统命令行
>> pip install aspose-imaging-python-net
通过 Python 压缩 JP2 的步骤
您需要 aspose-imaging-python-net 在您自己的环境中尝试以下工作流程。
- 使用 Image.Load 方法加载 JP2 文件 +压缩图像;
- 以 Aspose.Imaging 支持的格式将压缩图像保存到光盘
系统要求
所有主要操作系统都支持 Python 的 Aspose.Imaging。只需确保您具有以下先决条件。
- 带有 .NET Core 运行时的 Microsoft Windows / Linux。
- Python 和 PyPi 包管理器。
压缩 JP2 图像 - Python
from aspose.imaging.fileformats.jpeg2000 import Jpeg2000Codec | |
from aspose.imaging.imageoptions import Jpeg2000Options | |
from aspose.imaging import Image | |
import os | |
if 'TEMPLATE_DIR' in os.environ: | |
templates_folder = os.environ['TEMPLATE_DIR'] | |
else: | |
templates_folder = r"C:\Users\USER\Downloads\templates" | |
delete_output = 'SAVE_OUTPUT' not in os.environ | |
def compress_jpeg2000_jp2(): | |
input_file = os.path.join(templates_folder, "template.jp2") | |
output_file = os.path.join(templates_folder, "compressed_jp2.jp2") | |
with Image.load(input_file) as image: | |
obj_init = Jpeg2000Options() | |
obj_init.codec = Jpeg2000Codec.JP2 | |
obj_init.irreversible = False | |
obj_init.compression_ratios = [100] | |
image.save(output_file, obj_init) | |
if delete_output: | |
os.remove(output_file) | |
# run | |
compress_jpeg2000_jp2() |
关于 Python API 的 Aspose.Imaging
Aspose.Imaging API 是一种图像处理解决方案,用于在应用程序中创建、修改、绘制或转换图像(照片)。它提供:跨平台的图像处理,包括但不限于各种图像格式之间的转换(包括统一的多页或多帧图像处理)、绘图等修改、使用图形基元、转换(调整大小、裁剪、翻转和旋转) 、二值化、灰度、调整)、高级图像处理功能(过滤、抖动、遮罩、去偏斜)和内存优化策略。它是一个独立的库,不依赖任何软件进行图像操作。可以在项目中使用原生 API 轻松添加高性能图像转换功能。这些是 100% 私有的本地 API,图像在您的服务器上处理。通过在线应用压缩 JP2
通过访问我们的 Live Demos 网站 压缩 JP2 文档。 现场演示有以下好处
JP2 什么是 JP2 文件格式
JPEG 2000 (JP2) 是一种图像编码系统和最先进的图像压缩标准。设计,使用小波技术 JPEG 2000 可以一次编码任何质量的无损内容。此外,在编码效率没有任何实质性损失的情况下,JPEG 2000 能够有效地访问相同的内容并将其解码为各种其他分辨率和质量。 JPEG 2000 中的码流具有显着的可扩展性,具有为空间随机访问提供便利的感兴趣区域。拥有多达 16384 个不同的组件,尺寸以万亿像素为单位,精度可高达 38 位/样本。
阅读更多其他支持的压缩格式
使用 Python,可以轻松压缩不同的格式,包括。