Image 图像格式问题

Image 图像格式问题,image,matlab,image-processing,Image,Matlab,Image Processing,我有1位深度图像: A=灰度强度图像:UINT8 B=用im2bw和阈值B分割的图像A:逻辑 C=用im2bw和阈值C分割的图像A:逻辑 D=用im2bw和阈值D分割的图像A:逻辑 E=结果图像:双 我引入了一个循环,在这里我比较B,C,D(if/else),根据结果E被a或B的值填充。 在此之前,我创建了E=one(800800) 我读到uint8的值介于0和255(8位)之间,double的浮点值位于64位(我不知道这是什么意思)。 事实上,E看起来不应该,如果我将A或E更改为double或

我有1位深度图像:
A=灰度强度图像:UINT8
B=用
im2bw
和阈值B分割的图像A:逻辑
C=用
im2bw
和阈值C分割的图像A:逻辑
D=用
im2bw
和阈值D分割的图像A:逻辑
E=结果图像:双

我引入了一个循环,在这里我比较B,C,D(
if/else
),根据结果E被a或B的值填充。 在此之前,我创建了
E=one(800800)

我读到
uint8
的值介于0和255(8位)之间,
double
的浮点值位于64位(我不知道这是什么意思)。 事实上,E看起来不应该,如果我将A或E更改为
double
uint8
,要么我有一个全白色的图像,要么是一个非常奇怪的图像

我猜我对图像格式有问题,但我不知道如何或在哪里

谢谢,


Sarah

我实际上找到了出路,我创建了E作为
uint8
,这样A就可以轻松地填充它。
我还创建了一个新的图像“F”
uint8
,由B
逻辑值构成,这样我就可以用F(来自B)来填充E.

在三元化之前,将图像显示为
imshow(img,[])
。如果一个图像在Matlab上是双精度的,它期望图像在0-1范围内。因此,如果要在图像中放入
uint8
值,请将其除以255插入。@AnderBiguri感谢您的提示,但将要插入的A值除以255或不除以255不会改变图像E。图像E仍然是黑白(0,1)图像,但它应该包含来自A的灰度值。还有其他想法吗?是的,我建议的那个。。。。如果E是双精度的,那么它包含0-1的灰度值(0-1表示它也包含0.452!)。因此,如果希望E是双精度的,那么在将A保存到E上时,需要缩放A的值。例如:
E(4,5)=145/255
。这将使Matlab绘图正确,因为如果E上的值大于1,Matlab将“四舍五入”为1。是的,我理解。事实上我找到了解决办法,我创建了E作为uint8,这样A就可以轻松地填充它,我创建了一个新的图像F uint8,由B的逻辑值组成,这样我就可以用F来填充E。很好!然后,请关闭问题或回答您自己的问题;)