Common Vision Blox 15.0
Loading...
Searching...
No Matches
Spectral/CVBpy/ColorConvert

This example program is located in your CVB installation under %CVB%Tutorial/Spectral/CVBpy/ColorConvert.

ColorConvert.py:

# @brief Example for normalizing and calculating Lab and sRGB images on
# **hyperspectral cubes**.
import cvb
import numpy as np
import os
data_root = os.path.join(cvb.install_path(), "tutorial", "Spectral", "Images", "Color")
object_header = os.path.join(data_root, "ColorCube.hdr")
object_binary = os.path.join(data_root, "ColorCube.bin")
white_ref_header = os.path.join(data_root,"WhiteCube.hdr")
white_ref_binary = os.path.join(data_root, "WhiteCube.bin")
black_ref_header = os.path.join(data_root, "DarkCube.hdr")
black_ref_binary = os.path.join(data_root, "DarkCube.bin")
print("Load cube from:")
print("\t"+ str(object_header))
print("\t"+ str(object_binary))
print("White Refernce:")
print("\t"+ str(white_ref_header))
print("\t"+ str(white_ref_binary))
print("Black Refernce:")
print("\t"+ str(black_ref_header))
print("\t"+ str(black_ref_binary))
object_cube = cvb.spectral.Cube(object_header, object_binary)
white_ref = cvb.spectral.Cube(white_ref_header, white_ref_binary)
black_ref = cvb.spectral.Cube(black_ref_header, black_ref_binary)
cube_norm = cvb.spectral.normalize(object_cube, white_ref, black_ref, cvb.spectral.NormalizationMethod.AverageReferences1)
print("Normalization done!")
interpolator = cvb.spectral.Interpolator(cube_norm, cvb.spectral.StdObserver.CIE2006_2deg, cvb.spectral.StdIlluminant.D50, cvb.spectral.InterpolationMethod.Linear)
lab_image = cvb.spectral.convert_cube_to_lab(cube_norm, interpolator)
print("Lab calculation done!")
rgb_image = cvb.spectral.convert_lab_to_rgb8(lab_image, interpolator)
print("sRGB calculation done")
lab_image.save("LabImage.tiff")
rgb_image.save("RGBImage.tiff")
cvb.Image convert_lab_to_rgb8(cvb.Image lab_image, cvb.spectral.Interpolator interpolator)
cvb.spectral.Cube normalize(cvb.spectral.Cube cube, cvb.spectral.Cube white_reference, cvb.spectral.Cube black_reference, int normalization_method)
cvb.Image convert_cube_to_lab(cvb.spectral.Cube cube, cvb.spectral.Interpolator interpolator)
str install_path()