我想检测手机的方向以从相机旋转框架,然后我的姿势估计可以正确推断出旋转的图像。
例如:有人站在我的手机前,我将手机水平放置,然后在推断之前要将这张图像旋转为垂直。因为该模型可以垂直捕获人员。
我已经尝试过了: var orientation = resources.configuration.orientation
但是,这仅在屏幕的自动旋转功能打开且我不想要此功能时有效。 我不旋转我的应用程序。
答案 0 :(得分:1)
val orientationEventListener = object : OrientationEventListener(activity) {
override fun onOrientationChanged(orientation: Int) {
val defaultPortrait = 0
val upsideDownPortrait = 180
val rightLandscape = 90
val leftLandscape = 270
when {
isWithinOrientationRange(orientation, defaultPortrait) -> {}
isWithinOrientationRange(orientation, leftLandscape) -> {}
isWithinOrientationRange(orientation, upsideDownPortrait) -> {}
isWithinOrientationRange(orientation, rightLandscape) -> {}
}
}
private fun isWithinOrientationRange(
currentOrientation: Int, targetOrientation: Int, epsilon: Int = 10
): Boolean {
return currentOrientation > targetOrientation - epsilon
&& currentOrientation < targetOrientation + epsilon
}
}
orientationEventListener.enable()