阅读 imresize.m documentation之后,我不明白如果输入图像实际上是复数矩阵会发生什么。我正在看一些产生必要输出的代码,它使用imresize(A,n),其中A是复杂的矩阵,而n是调整大小的因素。我已经在C++中成功实现了带有双三次插值的imresize灰度版本(真正的 double 类型),但是我不知道该函数如何处理复杂值。

编辑:更多信息

我试图分别对实部和虚部执行我当前正在使用的双三次插值函数,然后将它们加在一起。它不会产生相同的结果。

最佳答案

我的猜测是imresize就像分别应用于实部和虚部一样工作。这是一个示范效果的示例:

N = 10;
scale = 2;
x = randn(N);
y = randn(N);
z1 = imresize(x+1i*y,scale);
z2 = imresize(x,scale)+1i*imresize(y,scale);
norm(z1-z2) % it is zero

从本质上讲,它只是上采样+过滤,因此它将应用于完全相同的复杂数据中的真实数据。

关于c++ - 如果输入图像矩阵实际上是复杂类型,MATLAB imresize()会做什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42008513/

10-12 16:04