The function should allow 32f input as well; The input matrices are copied anyway. Just call src.convertTo(dst, CV_64F) instead of src.copyTo(dst).