Array access violation occurs when up sampling.
An easy-to-use standalone SIFT library written in C/C++
Brought to you by:
robertwgh
dstData[r * dstW + c] = uchar ((1-dr) * (1-dc) * srcData[idx]
+ dr * (1-dc) srcData[idx + srcW]
+ (1-dr) dc * srcData[idx + 1]
+ dr * dc *srcData[idx + srcW + 1]);
It should be modified as follows,
dstData[r * dstW + c] = uchar ((1-dr) * (1-dc) * srcData[idx]
+ dr * (1-dc) * (r1 < srcH-1 ? srcData[idx + srcW] : srcData[idx])
+ (1-dr)* dc * (c1 < srcW-1 ? srcData[idx + 1] : srcData[idx])
+ dr * dc * (c1 < srcW-1 && r1 < srcH-1 ? srcData[idx + srcW + 1] : srcData[idx]) );
Kyungmo, thanks.
I have fixed this bug. It happens when the image size is not even numbers.
Cheers!