Convert your grayscale semantic masks (vistas/cityscape style) to RGB colored masks wiht built-in or custom pallets
Project description
Grayscale to Color Semantic Mask Converotr
Bug Fixes
version 0.4.3
- updated for use with pytorch and numpy.
- added
deepglob
dataset pallet.
version 0.4.1
Fixed ValueError
raised while using Custom color pallet.
Dependencies
numpy
cv2
tensorflow # only if using backend='tf'
python >= 3.6
Installation
pip install gray2color
This lib
converts the grayscale semantic masks obtained at the output a CNN and fills it with colors for example in case of
cityscape
dataset you have 30 channels at the output of CNN and after using argmax
to create one channel semantic mask you
get the following output
which you can use for measuring IOU
, Dice
or other evaluation metrics. But it is a bit difficult for human visualization so this package
converts the above output to following ouptut easy to visualize.
Usage
import cv2
from gray2color import gray2color
'''
two backends
'tf' # for tesnorflow
'np' # for numpy/pytorch
'''
mask = cv2.imread('../gray.png', 0)
rgb = gray2rgb(mask, use_pallet='cityscape', custom_pallet=None, backend='np')
Returns
A uint8
image with values ranging from [0, 255] you can save via
import cv2
rgb = cv2.cvtColor(rgb, cv2.COLOR_BGR2RGB) # becaues cv2 will change color channels before writing
cv2.imwrite('../rgb.png', rgb)
Available Pallets
Available Pallets are ade20k
, cityscape
, lip
, pannuke
, pascal
, vistas
for details on all above pallets and their corresponding names visit here
Usage with custom pallets
You can also define your custom color Pallets as follows
# values are in order [R, G, B] ranging from [0, 255]
c_pallet = np.array([[[128, 64, 128],
[244, 35, 232],
[70, 70, 70],
[102, 102, 156],
[190, 153, 153]]], np.uint8) / 255
rgb = gray2rgb(mask, use_pallet=None, custom_pallet=c_pallet, backend='np')
Raises Errors
PalletNotDefined: if pallet is not specified
NotEnoughColors: if grayscale mask has more classes present than the colors in the pallet
For more details visit GitHub
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.