"will corss-correlation give different results"
Yes, since the range of values will be different. Will it matter? For PIV, not at all, since it will just change the scale of all the peaks by the same amount. The location of the peaks will still be the same.
"if I convert to double using double, before doing it, it produces bad output"
Yes, it will. matlab image processing functions expect all double images to be in the range [0,1]. Anything above 1 is considered the same as 1. Therefore a uint8 image converted using double will be in effect an image with black for uint8 0 and white for all intensities between 1 and 255.
So in your case, im2double is better. Note that for a uint8 image, the only thing that im2double does is divide by 255 after conversion to double.
Best Answer