【发布时间】:2018-10-30 03:16:28
【问题描述】:
我有这样的角色图像:
得到contours和convexHull后输出是这样的:
为此,我使用了以下代码:
import cv2
img = cv2.imread('input.png', -1)
ret, threshed_img = cv2.threshold(cv2.cvtColor(img, cv2.COLOR_BGR2GRAY),
127, 255, cv2.THRESH_BINARY)
image, contours, hier = cv2.findContours(threshed_img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
for cnt in contours:
# get convex hull
hull = cv2.convexHull(cnt)
cv2.drawContours(img, [hull], -1, (0, 0, 255), 1)
cv2.imwrite("output.png", img)
正如您在下图中所见,识别出的轮廓与原始字符垂直对齐。但是那些与原始的核心角色是分开的。 (这些实际上是僧伽罗语的修饰语 - සිංහල)
现在我想将那些垂直对齐的轮廓与核心角色合并。最终输出应如下所示。我怎样才能有效地做到这一点?
【问题讨论】:
-
您可以尝试根据两个轮廓中心之间的距离进行合并
-
我想了想,万一最后横向合并呢?
标签: python opencv convex-hull opencv-contour