美文网首页
系统人脸识别:解决系统人脸识别得到的图片方向问题

系统人脸识别:解决系统人脸识别得到的图片方向问题

作者: Pierce_蛋 | 来源:发表于2019-02-27 16:55 被阅读0次
1、最后获得的图像反向转换
int height = CVPixelBufferGetHeight(pixelBuffer);
CGAffineTransform transform = CGAffineTransformMakeScale(1, -1);
transform = CGAffineTransformTranslate(transform, 0, -1 * height);
/* Do your face detection */
CGRect faceRect = CGRectApplyAffineTransform(feature.bounds, transform);
CGPoint mouthPoint = CGPointApplyAffineTransform(feature.mouthPosition, transform);
2、如果图像一开始就不是正向的
/**
  *   问题来自 UIImage 的取向和 CIDetectorImageOrientation 之间的区别。从 iOS 的文档:
     CIDetectorImageOrientation

     要检测密钥被用来指定图像的显示方向的功能。此密钥是一个 NSNumber 对象具有相同的值定义的 TIFF 和 EXIF 规格 ;值的范围可以从 1 到 8。值指定原点 (0,0) 的图像所在的位置。如果不存在,默认值是 1,这意味着图像的原点是左上角。每个值所指定的图像来源的详细信息,请参阅 kCGImagePropertyOrientation。

     可用在 iOS 5.0 和更高版本。

     在 CIDetector.h 中声明。
     
     所以现在的问题是这些两个方向之间的转换,在这里是我的代码中的所作所为、 我测试和它为所有方向工作:
  *
  */

    int exifOrientation;

    switch (image.imageOrientation) {

        case UIImageOrientationUp: {
  
            exifOrientation = 1;
            break; 
        }

        case UIImageOrientationDown: {
          
            exifOrientation = 3;
            break;
        }

        case UIImageOrientationLeft: {
          
            exifOrientation = 8;
            break;
        }

        case UIImageOrientationRight: {
          
            exifOrientation = 6;
            break;
        }

        case UIImageOrientationUpMirrored: {
         
            exifOrientation = 2;
            break;
        }

        case UIImageOrientationDownMirrored: {
          
            exifOrientation = 4;
            break;
        }

        case UIImageOrientationLeftMirrored: {
          
            exifOrientation = 5;
            break;
        }

        case UIImageOrientationRightMirrored: {
            
            exifOrientation = 7;
            break;
        }
    }

    NSDictionary *detectorOptions = @{ CIDetectorAccuracy : CIDetectorAccuracyHigh }; 
// TODO: read doc for more tuneups

    CIDetector *faceDetector = [CIDetector detectorOfType:CIDetectorTypeFace context:nil options:detectorOptions];

    NSArray *features = [faceDetector featuresInImage:[CIImage imageWithCGImage:image.CGImage]
                                              options:@{CIDetectorImageOrientation:[NSNumber 
                                                                                    numberWithInt:exifOrientation]}];

相关文章

  • 2020-06-11

    食堂人脸识别消费系统解决方案 一、人脸识别系统具有广泛的应用:包括人脸识别出入管理系统、人脸识别门禁考勤系统、人面...

  • 2020-05-14

    云卡通人脸识别消费系统解决方案 云卡通人脸识别系统含盖:动态人脸识别门禁管理系统、动态人脸识别消费系统、动态人脸识...

  • 系统人脸识别:解决系统人脸识别得到的图片方向问题

    1、最后获得的图像反向转换 2、如果图像一开始就不是正向的

  • 2020-06-09

    云卡通人脸识别系统含盖:动态人脸识别门禁管理系统、动态人脸识别消费系统、动态人脸识别考勤系统。其中动态人脸识别消费...

  • 2020-07-28

    一、人脸识别系统具有广泛的应用:包括人脸识别出入管理系统、人脸识别门禁考勤系统、人面识别消费管理系统、人脸识别通道...

  • 人脸识别行业解决方案,人脸识别系统应用开发解决方案

    人脸识别行业解决方案,人脸识别系统应用开发解决方案 [本文由汇新云李先生编辑/人脸识别系统应用开发搜索微信:hui...

  • 人脸识别系统开发,智慧门锁人脸识别系统开发解决方案

    人脸识别系统开发,智慧门锁人脸识别系统开发解决方案 [本文由汇新云李先生编辑/智慧门锁人脸识别系统开发搜索微信:h...

  • h

    # 多人脸识别系统 [^]: by CathyZhang ## 背景 > 多人脸识别,又称为M:N人脸识别,主要用...

  • 人脸识别预研

    1. 人脸识别发展 以往的人脸识别主要是包括人脸图像采集、人脸识别预处理、身份确认、身份查找等技术和系统。现在人脸...

  • 【转载】人脸识别系统的原理与发展

    1,人脸识别介绍 广义定义:构建人脸识别系统的一系列相关技术,包括人脸图像采集,人脸定位,人脸识别预处理,身份确认...

网友评论

      本文标题:系统人脸识别:解决系统人脸识别得到的图片方向问题

      本文链接:https://www.haomeiwen.com/subject/rwbfuqtx.html