Monday, 1 November 2021

how to fill the values in numpy to create a Spectrum

I have done the following code but do not understand properly what is going on there. Can anyone explain how to fill colors in Numpy?

Also I want to set in values in a way from 1 to 0 to give spectrum an intensity. E.g-: 0 means low intensity, 1 means high intensity

import numpy as np
import matplotlib.pyplot as plt 

a= np.zeros([256*6,256*6, 3], dtype=np.uint8) # init the array
# fill the array with rgb values to create the spectrum without the use of loops

#red
a[:,:,0] = np.concatenate(([255]*256, np.linspace(255,0,256), [0]*256, [0]*256, np.linspace(0,255,256), [255]*256))

#green
a[:,:,1] = np.concatenate((np.linspace(0,255,256), [255]*256, [255]*256, np.linspace(255,0,256), [0]*256,[0]*256))

#blue
a[:,:,2] = np.concatenate(([0]*256, [0]*256,np.linspace(0,255,256),[255]*256, [255]*256, np.linspace(255,0,256)))


plt.imshow(a)  # this is different than what I am looking for

Expected Output-:

Expected Output



from how to fill the values in numpy to create a Spectrum

No comments:

Post a Comment