Use `image.astype(dtype)` instead of `dtype(image)`

This PR addresses Issue #476, which is actually a NumPy bug but we can work around it with a trivial syntax change.

Passes all tests on my Mac, and the two versions profile no differently.