我有一个程序,返回grayscale
图像。 但是,当我尝试写的形象,似乎完全black
。 这是为什么? 我怎样才能写出图像,并得到预期的结果?
谢谢。
我有一个程序,返回grayscale
图像。 但是,当我尝试写的形象,似乎完全black
。 这是为什么? 我怎样才能写出图像,并得到预期的结果?
谢谢。
首先检查您的数据的类型。 你可以投的类型由例如数据的双重()或UINT16()等。(检查类型转换的帮助)。 这里是你如何重新调整自己的价值观,以UINT16的强度范围,用65K〜可能不同的值无符号整数的例子。 当然,铸造导致强度值的精度要求不高。
new_img(:,:) = uint16((new_img(:,:)./max(max(new_img(:,:),[],1)))*65536);
之后,你应该能够将数据写入到文件。
请确保您的灰度化图像是正确的类。 此外检查所生成的图像中的值。 如果他们只是过低都将显示为黑色。 如果你能提供更具体的信息,有可能给予更详细的答案。
如果你的二进制图像上工作的(之前被转换为灰色)和您关于将其转换为灰度,则突然像素从范围内变化[0,1]〜[0,255]。 所以在二进制图象的值“1”是完全白色,但在灰度图像几乎是黑色的。
尝试这个:
img = imread('image_name.jpg');
imshow(img*50)
它让你确保你的图像是黑色或只是其像素值是不恰当的。