docstr: line1 and line2 in  0=ax+by+c form, compute the cross point of line1 and line2
docstr_tok: ["line1","and","line2","in","0=ax+by+c","form",",","compute","the","cross","point","of","line1","and","line2"]
code: def line_cross_point(self, line1, line2):
      """
      line1 and line2 in  0=ax+by+c form, compute the cross point of line1 and line2
      """
      a1, b1, c1 = line1
      a2, b2, c2 = line2
      d = a1 * b2 - a2 * b1
  
      if d == 0:
          print("Cross point does not exist")
          return np.array([0, 0], dtype=np.float32)
      else:
          x = (b1 * c2 - b2 * c1) / d
          y = (a2 * c1 - a1 * c2) / d
  
      return np.array([x, y], dtype=np.float32)
  
imports: import math
  import cv2
  import numpy
  from skimage.morphology._skeletonize import thin
  from ppocr.utils.e2e_utils.extract_textpoint_fast import sort_and_expand_with_direction_v2
label_desc: Use image node_id 21 for calling the PGProcessTrain obj's underlying member method code with example usage: obj.line_cross_point(line1, line2) and returns: np, np