Hi,
I 'd like to modify continuously a pure red image to get an orange, yellow, green, light blue, blue, purple image.
The idea is to convert a rgb image, to convert it into hsv color space, to modify the hue value then to back convert into rgb color space.
The problem is that only green and blue can be obtained but no intermediate color:According to adobe, adding a hue equal to 36 should yield a yellow image.
Here's the code:
from skimage import io
from skimage import color
from scipy import ndimage as nd
import numpy as np
from matplotlib import pyplot as plt
import oscy55 = io.imread('/home/jeanpat/
MFISH/PSI/P07/01/Cy5/P070109C. tif')
zero = np.zeros(cy55.shape,dtype=np.uint8)
rgb0 = np.dstack([cy55, zero,zero])
hue_rotations = [18, 36,72,90,108]
images = {}
images[0] = rgb0
hsv0 = color.rgb2hsv(rgb0)
for hue in hue_rotations:
hsv = np.copy(hsv0)
hsv[:,:,0] = hsv[:,:,0]+ hue
rgb = color.hsv2rgb(hsv)
images[hue] = rgb