来自会话506的WWDC 2017视频。第一个演示中的一段代码如下所示:
let exifOrientation = self.exifOrientationFromDeviceOrientation()
使用自我。表示它应该是ViewController的属性。鉴于此 exifOrientationFromDeviceOrientation()方法并不存在于UIViewController类中,我认为ViewController符合授予该功能的协议。有人可以指出哪个协议?
答案 0 :(得分:0)
我强烈建议您查看https://github.com/yulingtianxia/Core-ML-Sample/blob/master/CoreMLSample/ViewController.swift,它是GitHub上Core-ML-Sample项目的一部分。
var exifOrientationFromDeviceOrientation: Int32 {
let exifOrientation: DeviceOrientation
enum DeviceOrientation: Int32 {
case top0ColLeft = 1
case top0ColRight = 2
case bottom0ColRight = 3
case bottom0ColLeft = 4
case left0ColTop = 5
case right0ColTop = 6
case right0ColBottom = 7
case left0ColBottom = 8
}
switch UIDevice.current.orientation {
case .portraitUpsideDown:
exifOrientation = .left0ColBottom
case .landscapeLeft:
exifOrientation = .top0ColLeft
case .landscapeRight:
exifOrientation = .bottom0ColRight
default:
exifOrientation = .right0ColTop
}
return exifOrientation.rawValue
}
干杯!
答案 1 :(得分:0)
比这更糟糕。它指的是在他们应用程序的UIViewController()子类中的一个函数。我无法在WWDC样本的任何地方找到此应用程序的副本 - 我不认为它们包含它。
但是,这个项目似乎有一个等价物:
https://github.com/yulingtianxia/Core-ML-Sample/blob/master/CoreMLSample/ViewController.swift#L107
答案 2 :(得分:0)
您指的是此代码posted here:
他们在代码中创建变量:
var exifOrientationFromDeviceOrientation: Int32 {
let exifOrientation: DeviceOrientation
enum DeviceOrientation: Int32 {
case top0ColLeft = 1
case top0ColRight = 2
case bottom0ColRight = 3
case bottom0ColLeft = 4
case left0ColTop = 5
case right0ColTop = 6
case right0ColBottom = 7
case left0ColBottom = 8
}
switch UIDevice.current.orientation {
case .portraitUpsideDown:
exifOrientation = .left0ColBottom
case .landscapeLeft:
exifOrientation = .top0ColLeft
case .landscapeRight:
exifOrientation = .bottom0ColRight
default:
exifOrientation = .right0ColTop
}
return exifOrientation.rawValue
}
答案 3 :(得分:0)
请查看Apple的“ Training a Create ML Model to Classify Flowers”。相关代码应适用于iOS12.x。
我使用了此线程中发布的代码,但没有意识到它们不正确(或不再正确)。仅在开始测试绘制边界框和分类的图像本地化模型时,我才检测到此问题。因此,如果您遇到同样的麻烦,则可以尝试更改代码。
我将返回分类模型,以查看准确性是否有所提高。我的预期对象具有旋转不变性,因此我不希望它有太大变化。但是,对于所有方向明确的模型,如果未正确地进行定向,则精度可能会下降。