跳转到主要内容

openjpeg的Python包装器,主要关注作为pylibjpeg的插件使用

项目描述

Build status Test coverage PyPI versions Python versions Code style: black

pylibjpeg-openjpeg

openjpeg的Python 3.8+包装器,主要关注作为pylibjpeg的插件使用。

Linux、OSX和Windows都支持。

安装

依赖项

NumPy

安装当前版本

python -m pip install -U pylibjpeg-openjpeg

安装开发版本

请确保已安装PythonGitCMake。对于Windows,您还需要安装Microsoft的C++ Build Tools

git clone --recurse-submodules https://github.com/pydicom/pylibjpeg-openjpeg
python -m pip install pylibjpeg-openjpeg

支持的JPEG格式

解码

ISO/IEC标准 ITU等效 JPEG格式
15444-1 T.800 JPEG 2000

编码

NumPy ndarrays的编码支持以下内容

  • 数组数据类型:bool、uint8、int8、uint16、int16、uint32和int32(仅1-24位深度)
  • 数组形状:(行,列)和(行,列,平面)
  • 行/列数:最多65535
  • 平面数:1、3或4

传输语法

UID 描述
1.2.840.10008.1.2.4.90 JPEG 2000图像压缩(仅无损)
1.2.840.10008.1.2.4.91 JPEG 2000图像压缩
1.2.840.10008.1.2.4.201 高吞吐量JPEG 2000图像压缩(仅无损)
1.2.840.10008.1.2.4.202 高吞吐量JPEG 2000带RPCL选项的图像压缩(仅无损)
1.2.840.10008.1.2.4.203 高吞吐量JPEG 2000图像压缩

用法

与pylibjpeg和pydicom一起使用

from pydicom import dcmread
from pydicom.data import get_testdata_file

ds = dcmread(get_testdata_file('JPEG2000.dcm'))
arr = ds.pixel_array

独立JPEG解码

您还可以将JPEG 2000图像解码为numpy ndarray

from openjpeg import decode

with open('filename.j2k', 'rb') as f:
    # Returns a numpy array
    arr = decode(f)

# Or simply...
arr = decode('filename.j2k')

独立JPEG编码

支持多分量变换的RGB的无损编码

import numpy as np
from openjpeg import encode_array

arr = np.random.randint(low=0, high=65536, size=(100, 100, 3), dtype="uint8")
encode_array(arr, photometric_interpretation=1)  # 1: sRGB

使用压缩比率对单色图像进行有损编码

import numpy as np
from openjpeg import encode_array

arr = np.random.randint(low=-2**15, high=2**15, size=(100, 100), dtype="int8")
# You must determine your own values for `compression_ratios`
#   as these are for illustration purposes only
encode_array(arr, compression_ratios=[5, 2])

使用峰值信噪比对单色图像进行有损编码

import numpy as np
from openjpeg import encode_array

arr = np.random.randint(low=-2**15, high=2**15, size=(100, 100), dtype="int8")
# You must determine your own values for `signal_noise_ratios`
#   as these are for illustration purposes only
encode_array(arr, signal_noise_ratios=[50, 80, 100])

有关encode_array()函数的详细信息,请参阅文档字符串。

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

pylibjpeg_openjpeg-2.3.0.tar.gz (2.0 MB 查看哈希值)

上传时间

构建分布

pylibjpeg_openjpeg-2.3.0-cp312-cp312-win_amd64.whl (335.3 kB 查看哈希值)

上传时间 CPython 3.12 Windows x86-64

pylibjpeg_openjpeg-2.3.0-cp312-cp312-win32.whl (310.7 kB 查看哈希值)

上传于 CPython 3.12 Windows x86

pylibjpeg_openjpeg-2.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ x86-64

pylibjpeg_openjpeg-2.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ ARM64

pylibjpeg_openjpeg-2.3.0-cp312-cp312-macosx_14_0_arm64.whl (365.6 kB 查看哈希值)

上传于 CPython 3.12 macOS 14.0+ ARM64

pylibjpeg_openjpeg-2.3.0-cp312-cp312-macosx_12_0_x86_64.whl (406.9 kB 查看哈希值)

上传于 CPython 3.12 macOS 12.0+ x86-64

pylibjpeg_openjpeg-2.3.0-cp311-cp311-win_amd64.whl (335.9 kB 查看哈希值)

上传于 CPython 3.11 Windows x86-64

pylibjpeg_openjpeg-2.3.0-cp311-cp311-win32.whl (311.1 kB 查看哈希值)

上传于 CPython 3.11 Windows x86

pylibjpeg_openjpeg-2.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64

pylibjpeg_openjpeg-2.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ARM64

pylibjpeg_openjpeg-2.3.0-cp311-cp311-macosx_14_0_arm64.whl (365.3 kB 查看哈希值)

上传于 CPython 3.11 macOS 14.0+ ARM64

pylibjpeg_openjpeg-2.3.0-cp311-cp311-macosx_12_0_x86_64.whl (408.3 kB 查看哈希值)

上传于 CPython 3.11 macOS 12.0+ x86-64

pylibjpeg_openjpeg-2.3.0-cp310-cp310-win_amd64.whl (335.9 kB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

pylibjpeg_openjpeg-2.3.0-cp310-cp310-win32.whl (311.7 kB 查看哈希值)

上传于 CPython 3.10 Windows x86

pylibjpeg_openjpeg-2.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64

pylibjpeg_openjpeg-2.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ ARM64

pylibjpeg_openjpeg-2.3.0-cp310-cp310-macosx_14_0_arm64.whl (365.5 kB 查看哈希值)

上传于 CPython 3.10 macOS 14.0+ ARM64

pylibjpeg_openjpeg-2.3.0-cp310-cp310-macosx_12_0_x86_64.whl (408.1 kB 查看哈希值)

上传于 CPython 3.10 macOS 12.0+ x86-64

pylibjpeg_openjpeg-2.3.0-cp39-cp39-win_amd64.whl (335.9 kB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

pylibjpeg_openjpeg-2.3.0-cp39-cp39-win32.whl (311.7 kB 查看哈希值)

上传于 CPython 3.9 Windows x86

pylibjpeg_openjpeg-2.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

pylibjpeg_openjpeg-2.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ ARM64

pylibjpeg_openjpeg-2.3.0-cp39-cp39-macosx_14_0_arm64.whl (365.5 kB 查看哈希值)

上传于 CPython 3.9 macOS 14.0+ ARM64

pylibjpeg_openjpeg-2.3.0-cp39-cp39-macosx_12_0_x86_64.whl (408.1 kB 查看哈希值)

上传于 CPython 3.9 macOS 12.0+ x86-64

pylibjpeg_openjpeg-2.3.0-cp38-cp38-win_amd64.whl (335.9 kB 查看哈希值)

上传于 CPython 3.8 Windows x86-64

pylibjpeg_openjpeg-2.3.0-cp38-cp38-win32.whl (311.7 kB 查看哈希值)

上传于 CPython 3.8 Windows x86

pylibjpeg_openjpeg-2.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86-64

pylibjpeg_openjpeg-2.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ ARM64

pylibjpeg_openjpeg-2.3.0-cp38-cp38-macosx_14_0_x86_64.whl (365.5 kB 查看哈希值)

上传于 CPython 3.8 macOS 14.0+ x86-64

pylibjpeg_openjpeg-2.3.0-cp38-cp38-macosx_12_0_x86_64.whl (407.9 kB 查看哈希值)

上传于 CPython 3.8 macOS 12.0+ x86-64

由以下支持