【发布时间】:2015-12-11 17:14:03
【问题描述】:
我正在做一个需要在图像中进行人脸检测的项目。我正在使用 Haar Cascading '正面脸'。
我想将人脸检测限制为仅在图像处于肖像模式时检测人脸。图像向左、向右或上下旋转时不检测人脸。我一直在寻找仅在纵向模式下限制面部检测的日子,但我无法这样做。
我正在从具有它的图像中读取“exif”信息,并根据 exif 旋转来旋转图像。但是如果我手动旋转图像,它的 exif 信息不会改变。所以我必须旋转图像并检测人脸,直到找到人脸。人脸检测算法并不局限于方向。
我的问题是如果图像是纵向的并且它是无方向的,或者图像是横向的并且它是无方向的,如何限制算法以旋转和检测具有正确方向的输出图像的面部。
我在 Java 中的 OpenCV 中工作。将在 Android 和 iOS 中实现相同的功能。
我想要什么。
我得到了什么。
编辑
算法
- 文件夹已提供给程序
- 从文件夹中读取所有图像并将它们添加到列表中。
- 创建一个新线程并将图像传递给它。
- 检测人脸。
- 如果不成功,再次旋转并再次检测。
- 如果成功,终止线程。
- 为所有图像做。
如果图像方向混乱,该程序假设将图像旋转到正确的方向,这取决于人脸检测让用户在不需要手动旋转图像的状态下查看图片。
【问题讨论】:
-
很简单,如果图像被旋转,则不应用人脸检测算法。
-
我正在对图像应用算法以使它们处于正确的方向。 _ets说文件夹中有数百张迷失方向的图片。我必须让它们处于正确的方向。所以最初我不知道图像是否旋转。我必须应用算法来寻找面部并使它们处于正确的方向。如何知道图像是否旋转?
-
找到解决办法了吗?
标签: java android opencv image-processing opencv3.0