如何使用iOS swift将图像转换为文本?
如何使用iOS swift将图像转换为文本 步骤01:使用iOS摄像头拍照。(使用iOS swift中的UIImagePickerController完成) 第二步:我得到了图像 步骤03:我必须将这些图像(UIImage)转换为文本格式 使用iOS swift 我已经提到了很多链接,因为我们已经有了VNDetextStranglesRequest来识别字符框如何使用iOS swift将图像转换为文本?,ios,swift,ocr,tesseract,swiftocr,Ios,Swift,Ocr,Tesseract,Swiftocr,如何使用iOS swift将图像转换为文本 步骤01:使用iOS摄像头拍照。(使用iOS swift中的UIImagePickerController完成) 第二步:我得到了图像 步骤03:我必须将这些图像(UIImage)转换为文本格式 使用iOS swift 我已经提到了很多链接,因为我们已经有了VNDetextStranglesRequest来识别字符框 但我的目的是如何将图像转换为文本。不是使用iOS swift的矩形框如果需要将图像转换为文字进行OCR,则可以使用以下链接:- OCR没
但我的目的是如何将图像转换为文本。不是使用iOS swift的矩形框如果需要将图像转换为文字进行OCR,则可以使用以下链接:- OCR没有内置库,但您可以使用以下链接 1) 开源OCR-Tesseract-完全免费,但精确度较低 此链接将显示如何在iPhone中运行:
2) 商业OCR——高精度、客户支持等,但需要花钱 我想你说的是从图像中提取文本,这个过程叫做cOCR“光学字符识别” 阅读: IOS没有内置的OCR SDK/库 我强烈建议您检查Tesseract,一个由谷歌维护的开源OCR引擎。 你也可以在这里找到完整的swift4文章
还记得在OCR过程之前捕获高质量图片 如果您需要从图像中识别文本,则可以参考以下内容: 1) Tesseract OCR: 2) ABBYY: 3) 谷歌云愿景:
Tesseract OCR更精确,具体取决于图像分辨率、字体、文本颜色等。使用CoreML的VNDetecatettextRectanglesRequest,您只能在图像中找到可见文本的区域。而且,这还不足以用swift从图像中提取文本
第一步是裁剪图像,您需要裁剪VNTextObservation中每个图像的图像。像
for textObservation in textObservations {
guard let rects = textObservation.characterBoxes else {
continue
}
var xMin = CGFloat.greatestFiniteMagnitude
var xMax: CGFloat = 0
var yMin = CGFloat.greatestFiniteMagnitude
var yMax: CGFloat = 0
for rect in rects {
xMin = min(xMin, rect.bottomLeft.x)
xMax = max(xMax, rect.bottomRight.x)
yMin = min(yMin, rect.bottomRight.y)
yMax = max(yMax, rect.topRight.y)
}
let imageRect = CGRect(x: xMin * size.width, y: yMin * size.height, width: (xMax - xMin) * size.width, height: (yMax - yMin) * size.height)
第二步是将图像发送到图像处理工具,如Opencv等。有一些关于如何与iOS集成的在线教程,如果您想将objective-c header与swift结合使用,可以使用它。
处理完图像后,第三步是Nick提到的,
然后使用tesseract或ABBYY SDK
Tesseract可以免费使用,您可以找到Tesseract 3.03-rc1的iOS框架。关于OCR工具,您需要了解的最重要的事情是语言。你想转换什么语言?检测到的图像使用什么语言?大多数情况下,您在tesseract中获得了多种语言的培训数据。综上所述,工作流程如下:
图像捕获->图像处理->OCR处理除非我误解了,否则你要找的是,你应该做一些关于如何在iOS中实现它的研究。感谢PPL、Ahmed和Matusalem的可能重复。检查此项:感谢Ayman。-(NSString)ocrImage:(UIImage*)UIImage{//code from robertcarlsen.net/2009/12/06/ocr-on-iphone-demo-1043.char text=tess->tesseractrict(imageData,(int)bytes_/u pixel,(int)bytes_/u/u line,0,0,(int)imageSize.height,(int)imageSize.width);//对文本执行一些有用的操作!NSLog(@“转换文本:%@),[NSString stringWithCString:text-encoding:NSUTF8StringEncoding];返回[NSString stringWithCString:text-encoding:NSUTF8StringEncoding];}。我们如何使用tess->TesseractRect SWIFT IOS。感谢Aymen。非常高兴在IOS SWIFT 4最新版本中对此进行归档。感谢帮助。我们是否可以从现有照片中获取文本。例如:我在papper中的wriiten是“Hello Ayman”并拍摄一张照片。使用此existion Hello Ayman照片。我们可以从现有图像中查找文本吗?是的,您可以从现有照片中读取文本。但这取决于很多因素…为什么您没有先尝试。然后尝试修复出现的任何问题。如果您对任何有用的答案进行投票,也会更好。-(NSString)ocrImage:(UIImage*)uiImage{//code from robertcarlsen.net/2009/12/06/ocr-on-iphone-demo-1043.char text=tess->tesseractrict(图像数据,(int)字节/像素,(int)字节/行,0,0,(int)图像大小.高度,(int)图像大小.宽度)//对文本做一些有用的事情!NSLog(@“转换文本:%@”,“NSString stringWithCString:文本编码:NSUTF8StringEncoding]);return[NSString stringWithCString:text encoding:NSUTF8StringEncoding];}。我们如何使用tess->Tesseractrict SWIFT IOS。谢谢Nick。我们可以从现有照片中获取文本吗。例如:我在papper中写下“Hello Nick”并拍摄一张照片。使用这张现有的hello Nick照片。我们可以从现有图像中查找文本吗?使用Tesseract OCR我不确定,但我认为不可能从手写便笺中获取文本。