我有一张尺寸为< 2559x3105 uint16> 的灰度图像。当我尝试打开这张图片时,我发出警告称它太大了。我已尝试imresize()
函数使其小< 512x512 uint8> 的大小。当我绘制原始图像并重新调整图像大小时,重新调整大小后强度会降低。我想重新调整原始图像的大小而不改变其像素值。有没有解决方案?
答案 0 :(得分:0)
答案 1 :(得分:0)
如果您希望将最终图片保留为uint8
,我认为您需要先使用uint16
将uint8
图片转换为im2uint8
图片 - < / p>
uint8_image = im2uint8(uint16_image);
然后,您可以在imresize
上申请uint8_image
。
但是,如果您不希望最终图片为uint8
类型,则可以直接使用imresize
并保留数据类型,即调整后的图片将为{ {1}}输入。
答案 2 :(得分:0)
听起来您的16位图像使用线性代码,而生成的8位图像需要进行伽马校正。如果是这种情况,您可以使用imadjust
gamma
参数1 / 2.2来生成更亮的图像。
答案 3 :(得分:0)
使用imshow
显示警告时是否收到警告?它是否会说“图像大到适合屏幕,调整到xx%”?如果是这样,那么你可以简单地忽略警告。否则,您可以设置'InitialMagnification'
imshow
参数来调整图形大小,但不能调整图像本身。