我想使用 AVFoundation 设置我自己的相机源并处理实时源以检测微笑。
我需要的很多东西都在这里完成:https://developer.apple.com/library/ios/samplecode/SquareCam/Introduction/Intro.html
这段代码是很久以前写的,所以我需要进行一些修改才能在外观上按照我想要的方式使用它。
我所做的更改如下:
现在,当我运行应用程序时,会检测到面部,但绘制矩形的坐标似乎存在错误
当我将视频重力更改为 AVLayerVideoGravityResizeAspect 时,一切似乎再次正常工作。
唯一的问题是,相机预览不是所需的全屏尺寸。
所以现在我想知道为什么会发生这种情况。我注意到方形凸轮中的一个函数:videoPreviewBoxForGravity,它处理重力类型并似乎进行调整。- (CGRect)videoPreviewBoxForGravity:(NSString *)重力框架大小:(CGSize)frameSize 孔径大小:(CGSize)apertureSize
我在这里注意到的一件事是,无论重力类型如何,框架尺寸都保持不变。
最后我在其他地方读到,当将重力设置为 AspectFill 时,提要的某些部分会被裁剪,这是可以理解的,类似于 ImageView 的scaletoFill。
我的问题是,如何进行正确的调整以使该应用程序适用于任何 VideoGravity 类型和任何大小的预览层。
我查看了一些相关的问题,例如CIDetector给予面部特征错误的位置似乎有类似的问题,但它没有帮助
提前致谢。
face-recognition avfoundation ios avcapturesession cifacefeature
你好 StackOverflow 社区,
我有一个相当奇怪的情况,导航控制器的导航栏上的自定义后退按钮在交互时消失。
一些附加信息是我的代码没有使用 Storyboard,而是使用 UIKit - 包括 UI 在内的所有内容都是以编程方式构建的。
这是我的设置:
我首先创建一个自定义 UINavigationController 子类,以抽象出所有与导航控制器相关的自定义项
在这个子类中,我有一个被调用的方法来自定义后退按钮的外观
private func customizeBackButton() {
let backImage = UIImage(named: "BackButton")?.withRenderingMode(.alwaysOriginal)
navigationBar.backIndicatorImage = backImage
navigationBar.backIndicatorTransitionMaskImage = backImage
UIBarButtonItem.appearance().setTitleTextAttributes([
NSAttributedString.Key.foregroundColor: UIColor.panoStoryYellow,
NSAttributedString.Key.font: UIFont(name: "Montserrat-SemiBold", size: 15)!
], for: .normal)
}
Run Code Online (Sandbox Code Playgroud)
当我在标签消失后点击后退箭头时,它会起作用并将我带回到上一个屏幕,但是,为什么会发生这种消失呢?
我尝试过什么 我尝试过许多关于堆栈溢出的建议,例如:
我可以确认这些不是问题,因为我有有效的标题并且从不隐藏后退按钮。
以下是我在确定它们都不适合我的情况之前检查过的一些资源,我在这里提出了问题:
UINavigationController 后退按钮不可见,但可以使用
UINavigationController的后退按钮消失了?
连续推送 ViewController 时缺少导航或后退按钮的标题
关于为什么这个后退按钮文本消失的任何想法?