Maybe itkImageRGBUC3 is not wrapped by default, so ITK implicitly converts it to scalar?
EDIT: the conversion RGB->Scalar usually uses luminance, so in this case you don’t need RGBToLuminanceImageFilter.
Also, does np.ascontiguousarray(np_image) give an RGB image?