提交 32c65b0d 编写于 作者: L LDOUBLEV

opt points order

上级 114d3399
...@@ -24,7 +24,6 @@ import cv2 ...@@ -24,7 +24,6 @@ import cv2
import numpy as np import numpy as np
import time import time
import sys import sys
from scipy.spatial import distance as dist
import tools.infer.utility as utility import tools.infer.utility as utility
from ppocr.utils.logging import get_logger from ppocr.utils.logging import get_logger
...@@ -151,22 +150,15 @@ class TextDetector(object): ...@@ -151,22 +150,15 @@ class TextDetector(object):
logger=logger) logger=logger)
def order_points_clockwise(self, pts): def order_points_clockwise(self, pts):
""" rect = np.zeros((4, 2), dtype="int32")
refer to :https://github.com/PyImageSearch/imutils/blob/9f740a53bcc2ed7eba2558afed8b4c17fd8a1d4c/imutils/perspective.py#L9 s = pts.sum(axis=1)
""" rect[0] = pts[np.argmin(s)]
# sort the points based on their x-coordinates rect[2] = pts[np.argmax(s)]
xSorted = pts[np.argsort(pts[:, 0]), :] tmp = np.delete(pts, (np.argmin(s), np.argmax(s)), axis=0)
diff = np.diff(np.array(tmp), axis=1)
leftMost = xSorted[:2, :] rect[1] = tmp[np.argmin(diff)]
rightMost = xSorted[2:, :] rect[3] = tmp[np.argmax(diff)]
return rect
leftMost = leftMost[np.argsort(leftMost[:, 1]), :]
(tl, bl) = leftMost
D = dist.cdist(tl[np.newaxis], rightMost, "euclidean")[0]
(br, tr) = rightMost[np.argsort(D)[::-1], :]
return np.array([tl, tr, br, bl], dtype="float32")
def clip_det_res(self, points, img_height, img_width): def clip_det_res(self, points, img_height, img_width):
for pno in range(points.shape[0]): for pno in range(points.shape[0]):
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册