2024-09-19 23:42:32 发布
网友
我在图像上有一个单词,单词是用cv2.puttext写在图像上的。我们通过cv2.getTextSize得到每个单词的高度和宽度。现在我想打印word每个字符的x坐标和y坐标的中心坐标,并将它们保存为文本文件,其中包含图像高度和宽度的标准化值。为了更清楚,请看一下代码。下面的代码能够给出单词第一个字符的中心坐标,但不能给出第二个及更多字符的中心坐标
cv2.puttext
cv2.getTextSize
使用OpenCV,您可以找到图像中字母的轮廓,然后找到这些轮廓的中心;以下是一个例子:
从这个图像开始:
import cv2 import numpy as np text = 'test123' org, font, scale, color, thickness = (25,200), cv2.FONT_HERSHEY_SIMPLEX, 3, 255, 3 img = np.zeros((400,400), np.uint8) cv2.putText(img, text, org, font, scale, color, thickness, cv2.LINE_AA)
找到轮廓线:
colors = [(200,0,0), (0,200,0),(0,0,200),(123,200,0),(200,0,123),(0,123,200),(200,0,200)] img_color = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR) contours, _ = cv2.findContours(img, cv2.THRESH_BINARY, cv2.CHAIN_APPROX_SIMPLE) for contour in contours: cv2.drawContours(img_color, [contour], -1, colors[0], 2) colors.pop(0)
找到轮廓的中心:
for contour in contours: center, _ = cv2.minEnclosingCircle(contour)
使用OpenCV,您可以找到图像中字母的轮廓,然后找到这些轮廓的中心;以下是一个例子:
从这个图像开始:
找到轮廓线:
找到轮廓的中心:
相关问题 更多 >
编程相关推荐