我在处理中遇到了图像插值方法的问题。这是我想出的代码,我知道它会抛出越界异常,因为外部循环比原始图像更远,但我该如何解决呢?
PImage nearestneighbor (PImage o, float sf)
{
PImage out = createImage((int)(sf*o.width),(int)(sf*o.height),RGB);
o.loadPixels();
out.loadPixels();
for (int i = 0; i < sf*o.height; i++)
{
for (int j = 0; j < sf*o.width; j++)
{
int y = round((o.width*i)/sf);
int x = round(j / sf);
out.pixels[(int)((sf*o.width*i)+j)] = o.pixels[(y+x)];
}
}
out.updatePixels();
return out;
}
我的想法是将代表缩放图像中的点的两个分量除以比例因子并将其四舍五入以获得最近的邻居。