Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 使用边界框检测感兴趣的文本区域_Python 3.x_Opencv_Ocr_Tesseract - Fatal编程技术网

Python 3.x 使用边界框检测感兴趣的文本区域

Python 3.x 使用边界框检测感兴趣的文本区域,python-3.x,opencv,ocr,tesseract,Python 3.x,Opencv,Ocr,Tesseract,我正在做一个项目,检测学生的名字和他们的成绩,将他们裁剪出来,将名字交给OCR,并将手写的成绩交给我的deep learning executif模型。 让openCV在我的图像中检测这两个感兴趣的区域,我遇到了一些问题,因为这不是我熟悉的东西,似乎需要知道你在做什么来相应地调整 不过,我确实有一张图片解释了我想通过这个openCV步骤实现什么。除了我自己的数据(图像)外,我还将提供它 我假设边界框是通过首先找到所有东西的边界框而不是应用某种条件来实现的,所以它只适用于这两个区域,但我不知道

我正在做一个项目,检测学生的名字和他们的成绩,将他们裁剪出来,将名字交给OCR,并将手写的成绩交给我的deep learning executif模型。 让openCV在我的图像中检测这两个感兴趣的区域,我遇到了一些问题,因为这不是我熟悉的东西,似乎需要知道你在做什么来相应地调整

不过,我确实有一张图片解释了我想通过这个openCV步骤实现什么。除了我自己的数据(图像)外,我还将提供它

我假设边界框是通过首先找到所有东西的边界框而不是应用某种条件来实现的,所以它只适用于这两个区域,但我不知道如何实现

这是我目前正在使用的代码


我真的希望,这些不是真实的注册号、姓名和成绩!这些扫描看起来很真实…我想你需要写一些程序来过滤那些专栏,选择你想要的。它们是真实的,但我有权用它们做我想做的事情。我们不使用这些注册号来做任何我们使用的事情,也不使用ID。@Moudhaffer Boualegui请查看我的个人资料,并给我发邮件寻求任何专业帮助
import cv2
import pytesseract
from pytesseract import Output


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

img = cv2.imread('result.png')
height, width, c = img.shape
image_data = pytesseract.image_to_data(img, output_type=Output.DICT)

for i, word in enumerate(image_data['text']):
    if word != "":
        x, y, w, h = image_data['left'][i], image_data['top'][i], image_data['width'][i], image_data['height'][i]
        cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 3)
cv2.imshow("window", img)
cv2.waitKey(0)