Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何通过保持原始值将过大的图像重新调整为较小的图像_Matlab_Image Processing - Fatal编程技术网

Matlab 如何通过保持原始值将过大的图像重新调整为较小的图像

Matlab 如何通过保持原始值将过大的图像重新调整为较小的图像,matlab,image-processing,Matlab,Image Processing,我有一个大小的灰度图像。当我试图打开这张图片时,我得到警告说它太大了。我已经尝试了imresize函数,使它的大小变小。当我绘制原始图像和重新调整大小的图像时,强度在重新调整大小后降低。我想在不改变像素值的情况下重新调整原始图像的大小。有什么解决办法吗?请阅读并使用最近邻法。就是 resized = imresize(original, scale, 'nearest') 这将不使用插值。当然,缺点是边缘可能会参差不齐。如果您希望将最终图像保留为uint8,我认为您需要首先使用im2uint8

我有一个大小的灰度图像。当我试图打开这张图片时,我得到警告说它太大了。我已经尝试了imresize函数,使它的大小变小。当我绘制原始图像和重新调整大小的图像时,强度在重新调整大小后降低。我想在不改变像素值的情况下重新调整原始图像的大小。有什么解决办法吗?

请阅读并使用最近邻法。就是

resized = imresize(original, scale, 'nearest')

这将不使用插值。当然,缺点是边缘可能会参差不齐。

如果您希望将最终图像保留为uint8,我认为您需要首先使用im2uint8将uint16图像转换为uint8图像-

然后您可以在uint8_图像上应用imresize


但是,如果您不希望最终图像为uint8类型,可以直接使用imresize,它将保留数据类型,即调整大小的图像将为uint16类型。

听起来您的16位图像使用线性代码,而生成的8位图像需要进行伽马校正。如果是这种情况,您可以使用1/2.2的gamma参数来生成更亮的图像。

使用imshow显示时是否收到警告?它是不是说图像要大一些以适应屏幕,大小要调整到xx%?如果是这样,那么您可以忽略警告。否则,您可以设置imshow的“initial放大”参数来调整图形大小,但不能设置图像本身的大小。

哪个软件会向您发出此警告?按现代标准来看,这不是一个大的形象。你说重新调整尺寸后强度降低是什么意思?
uint8_image = im2uint8(uint16_image);