How did you define rgb2lab?
Based on the dtype I would guess that the numpy array is converted to float64 at one point during the loading and processing.
Could you add print statements into __geitem__ and check the dtype after each operation?