code: def cv_merge_two_images(img1, img2, alpha=0.5, size=None):
      """Merge two images with OpoenCV.
  
      Parameters
      ----------
      img1 : numpy.ndarray or mxnet.nd.NDArray
          Image with shape `H, W, 3`.
      img2 : numpy.ndarray or mxnet.nd.NDArray
          Image with shape `H, W, 3`.
      alpha : float, optional, default 0.5
          Transparency of `img2`
      size : list, optional, default None
          The output size of the merged image
  
      Returns
      -------
      numpy.ndarray
          The merged image
  
      """
      from ..filesystem import try_import_cv2
  
      cv2 = try_import_cv2()
  
      if isinstance(img1, mx.nd.NDArray):
          img1 = img1.asnumpy()
      if isinstance(img2, mx.nd.NDArray):
          img2 = img2.asnumpy()
      img = cv2.addWeighted(img1, 1 - alpha, img2, alpha, 0)
      if size is not None:
          img = cv2.resize(img, (int(size[1]), int(size[0])))
      return img
  
imports: from __future__ import absolute_import, division
  import numpy
  import mxnet
label_desc: Use image node_id 3 for calling a global function with example usage: cv_merge_two_images(img1, img2, alpha, size) and returns: img