Skip to main content

Convert your grayscale semantic masks (vistas/cityscape style) to RGB colored masks wiht built-in or custom pallets

Project description

License: MIT Generic badge DOI

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

alt text 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. alt text

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.

Source Distribution

gray2color-0.4.3.tar.gz (10.5 kB view details)

Uploaded Source

File details

Details for the file gray2color-0.4.3.tar.gz.

File metadata

  • Download URL: gray2color-0.4.3.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.7

File hashes

Hashes for gray2color-0.4.3.tar.gz
Algorithm Hash digest
SHA256 151f7594bdc46a340e9e9bb85841086a7b3b8821b561ccc6604e1e14c773b5cc
MD5 422113c750ef33d6adc42dce184f7a65
BLAKE2b-256 824fc38ab8611cb07ecf86bfcb7ed4f31541fbff821a6f4a32421d70f4f58e43

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page