阅读 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/