我想在图像上对Scilab执行2D反卷积。我似乎无法找到它的内置功能。有人能指出我正确的方向吗?
感谢。
答案 0 :(得分:2)
This帖子虽然使用了Matlab,却提供了使用2D傅里叶变换进行反卷积的示例。
总体思路如下。零延伸两个图像 - 在m x m和n x n图像的情况下,两者都应该零填充到m + n-1 x m + n-1。 对每个零扩展图像进行二维傅里叶变换,逐元素划分,然后进行逆二维傅里叶变换。
需要零填充以防止循环卷积。
对于2D正向变换,可以使用fft2(m)或fftw(m,-1),其中m是图像矩阵,而对于逆变换(在Matlab中称为ifft2),可以使用fftw(M, 1)。
答案 1 :(得分:0)
用于Scilab中的反卷积 代码是:-
y=[4,2,7,11,18,19,10,11,12,9,8]
h=[2,3,1,4,5,2,1]
subplot(3,1,2)
plot2d3(h)
z=%z
a=4*z^10+2*z^9+7*z^8+11*z^7+18*z^6+19*z^5+10*z^4+11*z^3+12*z^2+9*z^1+8
b=2*z^10+3*z^9+1*z^8+4*z^7+5*z^6+2*z^5+1*z^4
x=ldiv(a,b,7)
x=x'
N1=length(x)
n1=0:N1-1
subplot(3,1,3)
plot2d3(n1,x)