Skip to content
Snippets Groups Projects
Commit aa55f254 authored by Amir MOHAMMADI's avatar Amir MOHAMMADI
Browse files

Add bob_to_pillow and back conversion

parent 6601f669
No related branches found
No related tags found
1 merge request!39Add bob_to_pillow and back conversion
Pipeline #60635 passed
import numpy as np import numpy as np
from PIL import Image
def to_matplotlib(img): def to_matplotlib(img):
...@@ -45,6 +46,46 @@ def to_bob(img): ...@@ -45,6 +46,46 @@ def to_bob(img):
return np.moveaxis(img, -1, -3) return np.moveaxis(img, -1, -3)
def bob_to_pillow(img):
"""Converts the floating or uint8 image to a Pillow Image.
Parameters
----------
img : numpy.ndarray
A gray-scale or RGB color image in Bob format (channels first)
Returns
-------
Image
An object of pillow.Image.
"""
# first convert to matplotlib format
img = to_matplotlib(img)
# if img is floating point, convert to uint8
if isinstance(img, np.floating):
# we expect float images to be between 0 and 1
img = np.clip(img, 0, 1) * 255
img = img.astype(np.uint8)
return Image.fromarray(img)
def pillow_to_bob(img):
"""Converts an RGB or gray-scale pillow image to Bob format
Parameters
----------
img : Image
A Pillow Image
Returns
-------
numpy.ndarray
Image in Bob format
"""
return to_bob(np.array(img))
def opencvbgr_to_bob(img): def opencvbgr_to_bob(img):
"""Returns a view of the image from OpenCV BGR format to Bob RGB format. """Returns a view of the image from OpenCV BGR format to Bob RGB format.
This function works with images, batches of images, videos, and higher This function works with images, batches of images, videos, and higher
......
...@@ -24,11 +24,13 @@ requirements: ...@@ -24,11 +24,13 @@ requirements:
- bob.extension - bob.extension
- h5py {{ h5py }} - h5py {{ h5py }}
- numpy {{ numpy }} - numpy {{ numpy }}
- pillow {{ pillow }}
- imageio {{ imageio }} - imageio {{ imageio }}
run: run:
- python - python
- setuptools - setuptools
- {{ pin_compatible('numpy') }} - {{ pin_compatible('numpy') }}
- {{ pin_compatible('pillow') }}
- {{ pin_compatible('imageio') }} - {{ pin_compatible('imageio') }}
- {{ pin_compatible('h5py') }} - {{ pin_compatible('h5py') }}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment