On 2009-07-09 12:34, Sebastian Schabe wrote:
Hello everybody,
I want to concatenate 2 numpy array which in fact are RGB images:
def concat_images(im1,im2):
rows1 = im1.shape[0]
rows2 = im2.shape[0]
if rows1 < rows2:
im1 = concatenate((im1,zeros((rows2-rows1,im1.shape[1],3), int)), axis=0)
elif rows1 > rows2:
im2 = concatenate((im2,zeros((rows1-rows2,im2.shape[1],3), int)), axis=0)
return concatenate((im1,im2), axis=1)
It's all working fine, except that the images when showing with pylab
are somewhat interpreted as HSV images as it looks. The function zeros()
must be responsible for that circumstance, because when the arrays have
the same shape and are concatenated they appear as horizontally
concatenated images as I expected.
Can someone help me with that?
Ask on the matplotlib mailing list.
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Probably, you need to use zeros(..., dtype=uint8). When you use dtype=int, that
will result in dtype=int arrays. I suspect that matplotlib is then interpreting
that to mean that you want it to treat the input as scalar data (which it will
pass through a colormap) rather than an RGB image.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
--
http://mail.python.org/mailman/listinfo/python-list