Python 我怎样才能找到与特定点相对应的文本?

Python 我怎样才能找到与特定点相对应的文本?,python,opencv,image-processing,ocr,python-tesseract,Python,Opencv,Image Processing,Ocr,Python Tesseract,我有一个最上面坐标和最左边坐标的标记点的图像,我需要从该坐标找到相应的文本,以获得该线的长度。 我不允许使用原始图像,所以我尝试重新创建它。我需要在蓝色坐标下得到1700,在红色坐标下得到2777,才能找到每边的大小。现在我有了这个点的坐标,我想在这个点周围做一个ROI,在这个ROI中找到文本,但我不知道怎么做 现在我得到的最外面的点是这样的: 导入cv2 将numpy作为np导入 image=cv2.imread('assets/bpcrop_3.png')) 模糊=cv2.高斯模糊(图像,

我有一个最上面坐标和最左边坐标的标记点的图像,我需要从该坐标找到相应的文本,以获得该线的长度。

我不允许使用原始图像,所以我尝试重新创建它。我需要在蓝色坐标下得到1700,在红色坐标下得到2777,才能找到每边的大小。现在我有了这个点的坐标,我想在这个点周围做一个ROI,在这个ROI中找到文本,但我不知道怎么做

现在我得到的最外面的点是这样的:

导入cv2
将numpy作为np导入
image=cv2.imread('assets/bpcrop_3.png'))
模糊=cv2.高斯模糊(图像,(3,3),0)
灰色=cv2.CVT颜色(模糊,cv2.COLOR\u BGR2GRAY)
_,thresh=cv2.阈值(灰色,220255,cv2.thresh\u二进制\u INV)
内核=np.ones((3,3),np.uint8)
扩张=cv2.扩张(阈值,核,迭代次数=35)
cnts=cv2.找到的孔(扩张,cv2.RETR\u外部,cv2.链近似\u简单)
如果len(cnts)==2个其他cnts[1],则cnts=cnts[0]
c=最大值(CNT,键=cv2.轮廓面积)
左=元组(c[c[:,:,0].argmin()][0])
右=元组(c[c[:,:,0].argmax()][0])
top=元组(c[c[:,:,1].argmin()][0])
底部=元组(c[c[:,:,1].argmax()][0])
我只需要知道顶部和左侧坐标旁边的文本,这样我就可以使用该文本作为蓝图大小的输出。

使用tesseract或输出模式,这样您就可以获得每个提取的单词/数字的坐标(可能限制提取字符仅提取数字)

tsv可能更容易解析,一旦在python中有了每个单词/数字的列表和相应的坐标,迭代该列表以找到与点之间距离最小的单词,只需使用欧几里得距离即可

最接近的单词/数字可能就是您要查找的单词/数字

您可能需要执行两次此操作,一次用于红点,一次用于蓝点,使用90º旋转图像