我对CoreML有一个问题,因为当我想让程序验证图像时,会出现一个错误:
coreml错误Domain=com.apple.CoreML Code=1“输入图像特征图像不匹配模型描述”UserInfo={NSLocalizedDescription=Input图像特征图像不匹配模型描述,NSUnderlyingError=0x2807c0cf0 {NSLocalizedDescription=Input Domain=com.apple.CoreML Code=1“图像不符合预期类型OneComponent8,相反是32 32ARGB”UserInfo={NSLocalizedDescription=Image不期望类型OneComponent8,而不是32ARGB} 2018-10-24 06:47:53.975118+0200识别器识别eMyFood25848:7075048失败验证输入。
下面有一个代码片段,在这里我可以进行图像转换:
UIGraphicsBeginImageContextWithOptions(CGSize(width: 343, height: 447), true, 2.0)
image.draw(in: CGRect(x: 0, y: 0, width: 343, height: 447))
let newImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
let attrs = [kCVPixelBufferCGImageCompatibilityKey: kCFBooleanTrue, kCVPixelBufferCGBitmapContextCompatibilityKey: kCFBooleanTrue] as CFDictionary
var pixelBuffer : CVPixelBuffer?
let status = CVPixelBufferCreate(kCFAllocatorDefault, Int(newImage.size.width), Int(newImage.size.height), kCVPixelFormatType_32ARGB, attrs, &pixelBuffer)
guard (status == kCVReturnSuccess) else {
return
}如果有人能帮我,我会很感激的!
发布于 2018-10-24 09:13:33
关键是在错误消息中:“图像不是预期的类型OneComponent8,而是32 32ARGB。”
您为它提供了一个彩色图像(kCVPixelFormatType_32ARGB),但是模型需要一个灰度图像(kCVPixelFormatType_OneComponent8)。
https://stackoverflow.com/questions/52961342
复制相似问题