code: def extend_line(self, point_1, point_2, result, shrink_ratio):
      ex_point_1 = (
          int(
              round(
                  point_1[0]
                  + (point_1[0] - point_2[0]) * (1 + shrink_ratio)
              )
          ),
          int(
              round(
                  point_1[1]
                  + (point_1[1] - point_2[1]) * (1 + shrink_ratio)
              )
          ),
      )
      cv2.line(
          result,
          tuple(ex_point_1),
          tuple(point_1),
          4096.0,
          1,
          lineType=cv2.LINE_AA,
          shift=0,
      )
      ex_point_2 = (
          int(
              round(
                  point_2[0]
                  + (point_2[0] - point_1[0]) * (1 + shrink_ratio)
              )
          ),
          int(
              round(
                  point_2[1]
                  + (point_2[1] - point_1[1]) * (1 + shrink_ratio)
              )
          ),
      )
      cv2.line(
          result,
          tuple(ex_point_2),
          tuple(point_2),
          4096.0,
          1,
          lineType=cv2.LINE_AA,
          shift=0,
      )
      return ex_point_1, ex_point_2
  
file_path: PaddleOCR/ppocr/data/imaug/make_border_map.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from __future__ import unicode_literals
  import numpy
  import cv2
  import pyclipper
  from shapely.geometry import Polygon
  import sys
  import warnings
label_desc: Use image node_id 5 for calling the MakeBorderMap obj's underlying member method code with example usage: obj.extend_line(point_1, point_2, result, shrink_ratio) and returns: ex_point_1,  ex_point_2