class_docstr: Apply histogram matching. It manipulates the pixels of an input image so that its histogram matches
  the histogram of the reference image. If the images have multiple channels, the matching is done independently
  for each channel, as long as the number of channels is equal in the input image and the reference.
  
  Histogram matching can be used as a lightweight normalisation for image processing,
  such as feature matching, especially in circumstances where the images have been taken from different
  sources or in different conditions (i.e. lighting).
  
  See:
      https://scikit-image.org/docs/dev/auto_examples/color_exposure/plot_histogram_matching.html
  
  Args:
      reference_images (Sequence[Any]): Sequence of objects that will be converted to images by `read_fn`. By default,
      it expects a sequence of paths to images.
      blend_ratio (float, float): Tuple of min and max blend ratio. Matched image will be blended with original
          with random blend factor for increased diversity of generated images.
      read_fn (Callable): Used-defined function to read image. Function should get an element of `reference_images`
      and return numpy array of image pixels. Default: takes as input a path to an image and returns a numpy array.
      p (float): probability of applying the transform. Default: 1.0.
  
  Targets:
      image
  
  Image types:
      uint8, uint16, float32
code: def _to_dict(self):
      raise NotImplementedError(
          "HistogramMatching can not be serialized."
      )
  
imports: import random
  from typing import Any, Callable, Literal, Sequence, Tuple
  import cv2
  import numpy
  from qudida import DomainAdapter
  from skimage.exposure import match_histograms
  from sklearn.decomposition import PCA
  from sklearn.preprocessing import MinMaxScaler, StandardScaler
  from albumentations.augmentations.utils import clipped, get_opencv_dtype_from_numpy, is_grayscale_image, is_multispectral_image, preserve_shape, read_rgb_image
  from ..core.transforms_interface import ImageOnlyTransform, ScaleFloatType, to_tuple
label_desc: Use image node_id 5 for calling the HistogramMatching obj's underlying member method code with example usage: obj._to_dict() without return types