JPG Process
get_orientation_code(stream: str | Path | bytes) -> ROTATE | None
jpgencode(img: np.ndarray, quality: int = 90) -> bytes | None
この一連の関数は、JPG 画像のエンコード/デコード/読み取り、および EXIF からの自動回転(向き補正)を提供します。
説明
- get_orientation_code:画像の EXIF から向き情報を取り出し、回転コードに変換します(
jpgdecodeとjpgread内で自動的に使われます)。 - jpgencode:NumPy 画像配列を JPG bytes にエンコードします。失敗時は
None。 - jpgdecode:JPG bytes を NumPy 画像配列にデコードし、EXIF に基づいて向きを補正します。失敗時は
None。 - jpgread:JPG ファイルを読み取り、NumPy 画像配列にデコードし、EXIF に基づいて向きを補正します。失敗時は
None。
依存関係
- このモジュールは JPEG の編解碼に
turbojpeg(PyTurboJPEG)を使用します。
パラメータ
jpgencode
- img (
np.ndarray):エンコードする画像配列。 - quality (
int):エンコード品質(1〜100)。デフォルトは 90。
jpgdecode
- byte_ (
bytes):デコードする JPG bytes。
jpgread
- img_file (
str | Path):読み込む JPG ファイルのパス。
例
jpgencode
from capybara.vision.improc import imread, jpgencode
img = imread('lena.jpg')
encoded_bytes = jpgencode(img, quality=95)
jpgdecode
from capybara.vision.improc import jpgdecode
decoded_img = jpgdecode(encoded_bytes)
jpgread
from capybara.vision.improc import jpgread
img_array = jpgread('path/to/image.jpg')