给coreML模型提供图像时获取运行时异常

时间:2019-01-19 04:10:29

标签: swift uiimage coreml cvpixelbuffer

我正在尝试学习Apple的CoreML框架,并为此创建了一个非常简单的CoreML模型,该模型将告诉您图像显示的是苹果还是香蕉。为此,我在Assets.xcassets目录中有一个苹果的图像,当我按下按钮时,我希望将此图像传递到我的模型中,希望获得关于它的正确信息。

   @IBAction func applePressed(_ sender: Any){
        let image = cropImage(imageToCrop: UIImage(named: "apple")!)

        guard let fruitName = try? model.prediction(image: image as! CVPixelBuffer) else{
        fatalError("Unexpected runtime error.")
    }

    print(fruitName.classLabel)

} 

现在我遇到一个错误。我得到的错误是 Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)

错误在行旁边 guard let fruitName = try? model.prediction(image: image as! CVPixelBuffer) else{ fatalError("Unexpected runtime error.") }

我不确定是什么引起了错误。我能想到的唯一原因是我没有正确格式化图像。该模型需要一个CVPixelBuffer,我不确定从UIImage到CVPixelBuffer的转换是否正确。

我在做什么错了?

感谢所有帮助!

0 个答案:

没有答案