Python interface for nvjpeg. Encode/Decode Jpeg with Nvidia GPU Hardware Acceleration.


Keywords
pynvjpeg, nvjpeg, jpeg, jpg, encode, decode, gpu, nvidia
License
MIT
Install
pip install pynvjpeg==0.0.1

Documentation

NvJpeg - Python

Require

  • nvjpeg
  • cuda >= 10.2
  • numpy >= 1.7
  • python >= 3.6
  • gcc >= 7.5
  • make >= 4.1

System

Linux(x86, x86_64) Nvidia Jetson OS

Install

pip install pynvjpeg

Usage

0. Init PyNvJpeg

from nvjpeg import NvJpeg
nj = NvJpeg()

1. Use PyNvJpeg

Read Jpeg File to Numpy

img = nj.read("_JPEG_FILE_PATH_")
# like cv2.imread("_JPEG_FILE_PATH_")

Write Numpy to Jpeg File

nj.write("_JPEG_FILE_PATH_", img)
# or nj.write("_JPEG_FILE_PATH_", quality)
# int quality default 70, mean jpeg quality
# like cv2.imwrite("_JPEG_FILE_PATH_", img)

Decode Jpeg bytes in variable

img = nj.decode(jpeg_bytes)
# like cv2.imdecode(variable)

Encode image numpy array to bytes

jpeg_bytes = nj.encode(img)
# or with jpeg quality
# jpeg_bytes = nj.encode(img, 70)
# int quality default 70, mean jpeg quality

# like cv2.imencode(".jpg", variable)[1]