【发布时间】:2020-07-18 02:56:00
【问题描述】:
我正在尝试制作和编写多项选择测验,MCQ 问题来自不同的书籍和其他来源,以便我可以以数字方式回答它们。我没有费心一个一个地打字,因为这很麻烦,而且会消耗很多时间。所以我从书中拍摄了问题的照片,然后将它们输入到我的脚本中,该脚本使用 openCV 进行图像处理,使用 Py-tesseract 将它们转换为文本,并使用 python 模块将其导出到充当我的“数据库”的 excel 中问题。
我的问题是我无法将选项按相应的字母排序
这是选择的图片
我的代码按换行符对选项进行排序
choices = cv2.imread("ROI_2.png", 0)
custom_config = r'--oem 3 --psm 6'
c = pytesseract.image_to_string(choices, config=custom_config, lang='eng')
x = re.sub(r'\n{2}', '\n', c)
text = repr(x)
print(text)
newtext = text.split("\\n")
如果选项很短,效果很好,但在其他选项有多个新行时会失败
Choices having multiple new lines
我正在尝试找到一种方法来通过相应的字母有效地对这些选择进行排序,我在想也许分隔符会起作用,或者将新转换的文本组合成一行,或者它可能在图像处理中?我对如何解决我的问题有想法,但我不知道如何继续我仍然是 python 的初学者,并且严重依赖于 stackoverflow 中的教程或过去回答的问题
【问题讨论】:
标签: python-3.x opencv python-tesseract