Marcel, When you say the output image was transparent, you mean it was all white? I believe what happened is your call to `np.empty` creates a floating point array, which skimage expects to be in the range [0, 1], but your data is in the range [0, 255]. If you used `dtype=np.uint8` in your `np.empty` call, I suspect it would work. Regards, Steve On Wednesday, February 4, 2015 at 9:22:44 AM UTC-6, Marcel Gutsche wrote:
Hi all,
I'm not sure if it is a bug, or whether I've just overlooked something obvious, but the internet did not offer much regarding this issue. I try to get slices from an image cube which consists of several images s = 1,...,n with the same dimensions. My new slice should have the width of the original images and the height of the number of images. Here is the code to do this:
from skimage.io import ImageCollection, imsave
from os.path import join
import numpy as np
def main(dir):
ic = ImageCollection( join(dir, '*.png' ) )
row = 0
img = np.empty((len(ic), ic[0].shape[1], ic[0].shape[2] ) )
for s in range(len(ic)):
img[s,...] = ic[s][row,...]
# fname = 'new_{0:03d}.jpg'.format(v) # -> wrong colors
fname = 'new_{0:03d}.png'.format(v) # -> output image is transparent imsave(fname, img)
The problem is that the output images are all transparent. My input files are .png images with an alpha channel. I have also checked the values of the alpha channel of the output which are all set to 255, which, at least to my knowledge, should set the opacity to 100%.
Regards,
Marcel