gpt4 book ai didi

opencv - 如何使用库识别对象?

转载 作者:太空宇宙 更新时间:2023-11-03 21:45:01 24 4
gpt4 key购买 nike

你能帮我解答一下问题吗?

1.如何检测多目标?

2。如何检测到我想要的对象?

谢谢!

最佳答案

如何将图像分成 9 个部分并剪切您所在的部分感兴趣,将其写入文件,然后在其上运行 tesseract。

tesseract myscan.png out

我不知道 tesseract 如何/是否可以对内存中的图像进行操作...但也许您会在 API 文档中找到一些东西?

我认为 tesseract 会返回一个 3 行的文本,你有兴趣最后一行中间区域的单词。有帮助吗? :D

好吧,我刚刚玩过 python tesseract api 和 python opencv api 并想出了以下内容

import cv2    
import cv2.cv as cv
import tesseract

cv.NamedWindow("win")
img = cv2.imread("GBIAe.jpg") # numpy.ndarray
height, width, channels = img.shape

# crop the image
crop = (2*height/3, width/3)
roi = img[crop[0]:height, crop[1]:2*width/3]

# Convert numpy.ndarray, to cv2.cv.iplimage
bitmap = cv.CreateImageHeader((roi.shape[1], roi.shape[0]), cv.IPL_DEPTH_8U, 3)
cv.SetData(bitmap, roi.tostring(), roi.dtype.itemsize * 3 * roi.shape[1] )

# Extract the text with tesseract
api = tesseract.TessBaseAPI()
api.Init(".","eng", tesseract.OEM_DEFAULT)
api.SetPageSegMode(tesseract.PSM_AUTO)
tesseract.SetCvImage( bitmap, api)
text=api.GetUTF8Text()
conf=api.MeanTextConf()
print("text %s" % text)
api.End()
cv.ShowImage("win", bitmap)
cv.WaitKey()

可以在以下位置找到 python tesseract

https://code.google.com/p/python-tesseract/

我在这里找到了numpy数组和iplimage之间的转换:

http://stackoverflow.com/questions/11528009/opencv-converting-from-numpy-to-iplimage-in-python

裁剪给我“这里是”作为文本。这可能不是您想要的。

Tesseract 正在与脚本相同的文件夹中的 tessdata 文件夹中搜索经过训练的语言数据。我刚刚创建了指向/usr/share/tesseract-ocr/tessdata 文件夹的符号链接(symbolic link)。您可能想要设置环境变量等。

也许您应该添加更多图片。还有可能ocr 整个文本,取最后一行,因为你只对最后一行感兴趣,然后看看中间是哪个单词。

我认为您可以使用上面的代码来实现两者。裁剪区域将为您提供最后一行中间单词的部分或全部文本,然后可用于从使用 tesseract 对整个图像获得的最后一行文本中选择完整单词。

关于opencv - 如何使用库识别对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34125257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com