Deblurring code and different Matlab versions
Deblurring code and different Matlab versions
It would seem that the different versions of Matlab (6.5, 7.2, 7.4)
have different implmentations of various routines that result in the
deblurring code giving different outputs, given the same input image
and parameter script.
The first issue is that of the "uint8()" function. In Matlab 6.5, the
function as as a "floor()", but in 7.2 and 7.4 it acts as a "round()".
The second issue is that the "imresize()" function gives different
results, if resizing by amounts other than mutiples of two. In the
figure below, Matlab 6.5 and 7.2 can be seen give quite different
answers when resizing a unit step by a factor of sqrt(2). Matlab 7.4
seems to give the same answer as 7.2 however.
But I'm still not quite sure why Matlab 7.2 and 7.4 give quite different
answers though when I run the same script:
Here are the resulting kernels at each scale from the execution of the
"ian1.m" script run under Matlab 6.5sp1:
Here are the resulting kernels at each scale from the execution of the
"ian1.m" script run under Matlab 7.2 (2006a):
Here are the resulting kernels at each scale from the execution of the
"ian1.m" script run under Matlab 7.4 (2007a):
I'm working on finding out why. But it is a little disturbing that
these version changes really do made a big difference to the output of
the algorithm...