插值算法所有值255-MATLAB

插值算法所有值255-MATLAB,matlab,interpolation,nearest-neighbor,Matlab,Interpolation,Nearest Neighbor,我试图在Matlab中创建自己的最近邻插值算法,将556×612的图像放大到1668×1836 这是作业 我已经尝试过了,但是遇到了一个错误,M中的值(不是全部,而是大部分)被转换为255(空白),我无法理解为什么。任何帮助都将不胜感激!这幅画是一幅斑马画 尝试imshow(M,[])。您在未指定类型的情况下创建了M,这使得加倍double图像为[0-1],因此默认情况下,imshow会将所有值大于1的内容变为白色 或者,将M创建为uint8作为原始图像 M = zeros(NewX, Ne

我试图在Matlab中创建自己的最近邻插值算法,将556×612的图像放大到1668×1836

这是作业

我已经尝试过了,但是遇到了一个错误,M中的值(不是全部,而是大部分)被转换为255(空白),我无法理解为什么。任何帮助都将不胜感激!这幅画是一幅斑马画

尝试
imshow(M,[])
。您在未指定类型的情况下创建了
M
,这使得
加倍
double
图像为[0-1],因此默认情况下,
imshow
会将所有值大于1的内容变为白色

或者,将
M
创建为
uint8
作为原始图像

M = zeros(NewX, NewY,'uint8');
更好的代码是:

M = zeros(NewX, NewY,class(Igray));

哦,我不能使用任何内置的matlab函数!
M = zeros(NewX, NewY,class(Igray));