未验证 提交 f025a135 编写于 作者: D Double_V 提交者: GitHub

Merge pull request #6654 from LDOUBLEV/2.5

[bug fix] fix points order bug
...@@ -24,6 +24,7 @@ import cv2 ...@@ -24,6 +24,7 @@ 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
...@@ -150,14 +151,22 @@ class TextDetector(object): ...@@ -150,14 +151,22 @@ 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="float32") """
s = pts.sum(axis=1) refer to :https://github.com/PyImageSearch/imutils/blob/9f740a53bcc2ed7eba2558afed8b4c17fd8a1d4c/imutils/perspective.py#L9
rect[0] = pts[np.argmin(s)] """
rect[2] = pts[np.argmax(s)] # sort the points based on their x-coordinates
diff = np.diff(pts, axis=1) xSorted = pts[np.argsort(pts[:, 0]), :]
rect[1] = pts[np.argmin(diff)]
rect[3] = pts[np.argmax(diff)] leftMost = xSorted[:2, :]
return rect rightMost = xSorted[2:, :]
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.
先完成此消息的编辑!
想要评论请 注册