1 | initial version |
lo, i found it !
playing with this other NaN candidate, hehe , and looking at your remarks about trying to change the types, i found, that you access the image in calcSiftDescriptor ~L57 as : img.at<float>(r, c+1)
.
dang ! it's still uchar (output from GaussianBlur) , not float !
so, just insert a tmp.convertTo(tmp, CV_32F);
after the resize() in main() (also, more prec. for the blur), and all the NaN's are gone !
you've simply introduced a buffer overrun due to wrong image access, which caused those ;)