- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在从 ARKit 捕获一帧并从中获取 CVPixelBuffer
func session(_ session: ARSession, didUpdate frame: ARFrame) {
if self.detectionFrame != nil {
return
}
self.detectionFrame = frame
// Retain the image buffer for Vision processing.
let pixelBuffer = frame.capturedImage
DispatchQueue.global().async {
self.recognizeText(from: pixelBuffer)
}
}
在 recognizeText
中,我继续初始化 Tesseract 并在将图像转换为 UIImage
后传递图像。
func recognizeText(from image:CVPixelBuffer){
// 1
if let tesseract = MGTesseract(language: "jpn+jpn_vert") {
// 2
tesseract.engineMode = .tesseractCubeCombined
// 3
tesseract.pageSegmentationMode = .auto
// 4
let ciImage = CIImage(cvPixelBuffer: image)
tesseract.image = UIImage(ciImage: ciImage)
// 5
tesseract.recognize()
// 6
let text = tesseract.recognizedText
print(text ?? "")
}
}
这个结果总是在
Thread 15: EXC_BAD_ACCESS (code=1, address=0x0)
在
- (Pix *)pixForImage:(UIImage *)image
{
int width = image.size.width;
int height = image.size.height;
CGImage *cgImage = image.CGImage;
CFDataRef imageData = CGDataProviderCopyData(CGImageGetDataProvider(cgImage));
const UInt8 *pixels = CFDataGetBytePtr(imageData); <<< EXC_BAD_ACCESS
size_t bitsPerPixel = CGImageGetBitsPerPixel(cgImage);
size_t bytesPerPixel = bitsPerPixel / 8;
size_t bytesPerRow = CGImageGetBytesPerRow(cgImage);
我做错了什么?
最佳答案
找到缺失的部分,要将缓冲区转换为 UIImage,您需要提供 CIContext 和缓冲区大小
let ciImage = CIImage(cvPixelBuffer: pixBuffer)
let ciContext = CIContext(options: nil)
if let videoImage = ciContext.createCGImage(ciImage, from: CGRect(x: 0, y: 0, width: CVPixelBufferGetWidth(pixBuffer), height: CVPixelBufferGetHeight(pixBuffer))) {
self.prcessedImage = UIImage(cgImage: videoImage )
tesseract.image = self.prcessedImage
// 5
tesseract.recognize()
// 6
let text = tesseract.recognizedText
print(text ?? "")
}
关于ios - TesseractOCR BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56246799/
当我从 EKEvent 访问生日ContactIdentifier 属性时,我总是立即收到 BAD_ACCESS 错误(甚至无法进行 nil 检查) 这是我用来获取的代码 import UIKit
我有 A 类和 B 类。我正在从 A 类调用 B 类。这里我的问题是 A 类的宽度和高度取决于 B 类。当 sizeForScrollView 属性(B 类属性)更改时我想要通知。一切正常。但是当我当
我正在从 ARKit 捕获一帧并从中获取 CVPixelBuffer func session(_ session: ARSession, didUpdate frame: ARFrame) {
我想保留我的风景。为此,我正在使用此代码,但 BAD_ACCESS 即将到来。在这里,我正在为相机 overlayView 编写这段代码。 -(void)viewDidLoad { [[
当我尝试使用我在 iPhone 开发中从本地 SQLITE 数据库中选择的值执行任何操作时,我收到 EXC_BAD_ACCESS。我的功能代码是 -(void) updateFromDB { // S
我用 Xcode 编写。我的代码应该将文本文件逐行读取到指针数组 *ar[] 中。我使用了一个简单的循环,通过 getc() 将每个字符读取到 c,并将 c 读取到 *ar[i]。如果 c!= '\n
我在 Xcode 7.3 上的 Swift 2.2 中发现了一个奇怪的错误(或者这不是错误但我做错了什么)。 我有一个枚举,其中一个案例和类将此枚举作为初始化程序的参数 enum OneCaseEnu
我正在浏览一个可变参数列表,当我到达列表中的最后一个对象时,我总是会收到 BAD_ACCESS 错误。我强烈认为它是 ARC相关问题。 这是我的做法: -(NSString *)replaceToke
我有一个由 NSFetchedResultsController 提供的 UITableViewController。 一切正常,直到我添加 if (self.fetchedResultsContro
好吧,我完全不知所措了。一小部分用户在我的主机名翻译中似乎存在 BAD_ACCESS 错误。 完整的崩溃如下: Exception Type: EXC_BAD_ACCESS (SIGSEGV) Ex
由于某种原因,我的应用程序崩溃了,我不确定是什么原因导致了问题,除了它似乎与处理文件时跨越的调度队列有关。任何帮助将不胜感激。 Crashed Thread: 0 Dispatch queue:
这听起来可能是个新手问题,但我是 iOS 开发新手, 最近我切换到 ARC 并在我的代码中遇到以下问题。我已经使用以下 init 方法实现了一个类 - (id)init { self = [s
下面是我上传日志文件到FTP的代码,问题是有时执行[mInputStream open]时会崩溃。 XCode 显示 BAD_ACCESS。我猜这可能是由于上传大文件造成的。然而,即使文件很小,有时也
我正在尝试像这样实例化 UiAlertView: UIAlertView *alert = [[UIAlertView alloc]
我在使用异步调度时遇到了一个非常奇怪的错误访问错误。我设法将其减少到程序中的这段代码。 -(void)buttonTapped:(id)sender { __block NSArray*foo
我有一个属性(noARC) @property (nonatomic, retain) NSString *itemUUID; 和一个初始化 - (void) viewDidAppear:(BOOL)
我在子类 UIImageview 中有一个 CGMutablePathRef 属性。当我创建新路径并将其分配给属性时,CGPathRelease 在我调用 CGPathContainsPoint 时会
在运行时循环两次,在通过请求查询调用 PrepareStatement 时因 Bad_Access 而崩溃。 所以我检查了所有的 ResultSet 内存并释放了它但是没有想法有什么办法可以解决这个问
也许我不打算使用 CoreData 显示选定行的详细信息,但我无法弄清楚为什么我会收到“BAD_ACCESS”错误。我用谷歌搜索,找不到我要找的东西。 基本上,我使用 CoreData 来填充 Tab
我有一个带有 3 个 View Controller 的应用程序,它们被推送到导航 Controller 堆栈上。 (A) -> (B) -> (C) (A) 在 viewWillAppear 中注册
我是一名优秀的程序员,十分优秀!