相关疑难解决方法(0)

使用opencv获取图像中所有文本的位置

我有一张包含文本(数字和字母)的图像。我想获取此图像中所有文本和数字的位置。我也想提取所有文本。

在此处输入图片说明

如何获取图像中的坐标以及所有文本(数字和字母)。例如 10B、44、16、38、22B 等

python opencv machine-learning image-processing deep-learning

12
推荐指数
2
解决办法
2513
查看次数

使用 YOLO 或其他图像识别技术来识别图像中存在的所有字母数字文本

我有多个图像图表,所有这些图表都包含作为字母数字字符的标签,而不仅仅是文本标签本身。我希望我的 YOLO 模型能够识别其中存在的所有数字和字母数字字符。

我如何训练我的 YOLO 模型来做同样的事情。数据集可以在这里找到。https://drive.google.com/open?id=1iEkGcreFaBIJqUdAADDXJbUrSj99bvoi

例如:查看边界框。我希望 YOLO 检测文本所在的位置。但是目前没有必要识别其中的文本。

在此处输入图片说明

对于这些类型的图像也需要做同样的事情 在此处输入图片说明 在此处输入图片说明

图片可以在这里下载

这是我使用 opencv 尝试过的,但它不适用于数据集中的所有图像。

import cv2
import numpy as np
import pytesseract

pytesseract.pytesseract.tesseract_cmd = r"C:\Users\HPO2KOR\AppData\Local\Tesseract-OCR\tesseract.exe"

image = cv2.imread(r'C:\Users\HPO2KOR\Desktop\Work\venv\Patent\PARTICULATE DETECTOR\PD4.png')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]
clean = thresh.copy()

horizontal_kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (15,1))
detect_horizontal = cv2.morphologyEx(thresh, cv2.MORPH_OPEN, horizontal_kernel, iterations=2)
cnts = cv2.findContours(detect_horizontal, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cnts = cnts[0] if len(cnts) == 2 else cnts[1]
for c in cnts:
    cv2.drawContours(clean, [c], -1, 0, 3) …
Run Code Online (Sandbox Code Playgroud)

python opencv machine-learning deep-learning yolo

12
推荐指数
3
解决办法
2834
查看次数