Tag: cifacefeature

iOS人脸检测器的方向和CIImage方向的设置

编辑发现这个代码,帮助前摄像头图像http://blog.logichigh.com/2008/06/05/uiimage-fix/ 希望其他人也有类似的问题,可以帮助我。 尚未find解决scheme。 (这可能看起来有点长,但只是一堆帮手代码) 我在相机(正面和背面)获取的图像上使用了ios脸部检测器,以及图库中的图像(我正在使用UIImagePicker – 用于通过相机捕捉图像并从图库中select图像 – 不使用漫射用于在Squarecam演示中拍摄照片) 我真的搞砸了检测的坐标(如果有的话),所以我写了一个简短的debugging方法来获取面的边界以及一个实用工具,他们在上面绘制了一个正方形,我想检查检测器的方向正在工作: #define RECTBOX(R) [NSValue valueWithCGRect:R] – (NSArray *)detectFaces:(UIImage *)inputimage { _detector = \[CIDetector detectorOfType:CIDetectorTypeFace context:nil options:\[NSDictionary dictionaryWithObject:CIDetectorAccuracyLow forKey:CIDetectorAccuracy\]\]; NSNumber *orientation = \[NSNumber numberWithInt:\[inputimage imageOrientation\]\]; // i also saw code where they add +1 to the orientation NSDictionary *imageOptions = \[NSDictionary dictionaryWithObject:orientation forKey:CIDetectorImageOrientation\]; CIImage* ciimage = \[CIImage […]

用CIDetector和CIFaceFeature中的人脸裁剪圆形图像

如何将我作为faceViewBounds收到的框架剪裁成一个围绕脸的大圆圈? 这就像一个人脸上的徽章。 也许我应该得到faceViewBounds的中心,然后我必须在ImageView.image中find这个中心,然后绘制一个大直径的圆,然后通过逻辑将其余的圆以外的部分剪掉,但是用代码我不知道该怎么做.. 有什么build议么? func detectFaceFrom(ImageView theImageView: UIImageView) { guard let personImage = CIImage(image: theImageView.image!) else { return } let accuracy = [CIDetectorAccuracy: CIDetectorAccuracyLow] let faceDetector = CIDetector(ofType: CIDetectorTypeFace, context: nil, options: accuracy) let faces = faceDetector?.features(in: personImage) let ciImageSize = personImage.extent.size var transform = CGAffineTransform(scaleX: 1, y: -1) transform = transform.translatedBy(x: 0, y: -ciImageSize.height) […]

CIDetector和UIImagePickerController

我试图实现内置的iOS 5脸部检测API。 我正在使用UIImagePickerController的实例来允许用户拍照,然后我试图使用CIDetector来检测面部特征。 不幸的是, featuresInImage总是返回一个大小为0的数组。 代码如下: – (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { UIImage* picture = [info objectForKey:UIImagePickerControllerOriginalImage]; NSNumber *orientation = [NSNumber numberWithInt: [picture imageOrientation]]; NSDictionary *imageOptions = [NSDictionary dictionaryWithObject:orientation forKey:CIDetectorImageOrientation]; CIImage *ciimage = [CIImage imageWithCGImage:[picture CGImage] options:imageOptions]; NSDictionary *detectorOptions = [NSDictionary dictionaryWithObject:CIDetectorAccuracyLow forKey:CIDetectorAccuracy]; CIDetector *detector = [CIDetector detectorOfType:CIDetectorTypeFace context:nil options:detectorOptions]; NSArray *features = [detector featuresInImage:ciimage]; […]