- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在 IOS 上使用 CoreImage
来检测图像中的人脸。当有多个面孔时它工作正常,但不适用于像这样的简单面孔:
人脸真的很大很明显,但是CoreImage
检测不到。我想这可能是因为我的 kCGImagePropertyOrientation
。
我将其设置为 5,仅仅是因为在线教程就是这样做的。但是,我正在处理的图像是用户上传的,所以我事先不知道脸部的方向。有没有办法尝试所有方向?当图像事先未知时,实现 CoreImage
面部检测的正确方法是什么?
这是我的代码:
var imageOptions = Dictionary<String,Any>()
imageOptions[CIDetectorImageOrientation] = 5
imageOptions[CIDetectorSmile] = true
let image = CIImage(cgImage: imageView.image!.cgImage!)
let accuracy = [CIDetectorAccuracy: CIDetectorAccuracyHigh]
let faceDetector = CIDetector(ofType: CIDetectorTypeFace, context: nil, options: accuracy)
let faces = faceDetector?.features(in: image, options: imageOptions as? [String : AnyObject])
最佳答案
你可以这样做
var imageOrienttion = 0
switch (YourUIImage.imageOrientation) {
case UIImageOrientation.up:
imageOrienttion = 1
break;
case UIImageOrientation.down:
imageOrienttion = 3
break;
case UIImageOrientation.left:
imageOrienttion = 8
break;
case UIImageOrientation.right:
imageOrienttion = 6
break;
case UIImageOrientation.upMirrored:
imageOrienttion = 2
break;
case UIImageOrientation.downMirrored:
imageOrienttion = 4
break;
case UIImageOrientation.leftMirrored:
imageOrienttion = 5
break;
case UIImageOrientation.rightMirrored:
imageOrienttion = 7
break;
}
imageOptions[CIDetectorImageOrientation] = imageOrienttion
关于IOS CoreImage 全方位人脸检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45247591/
我创建了如下模糊图像: //Blur the UIImage CIImage *imageToBlur = [CIImage imageWithCGImage:viewImage.CGImage];
我目前正在探索 Apple 的 Core Image 框架中的人脸检测功能。 现在,我正在玩 Apple 的示例项目,该项目将红色方 block 放在人的脸上。 ( https://developer
我有来自 AVAsset 的 CVPixelBufferRef。我正在尝试对其应用 CIFilter。我使用这些行: CVPixelBufferRef pixelBuffer = ... CVPixe
我刚刚在 iOS 5 上查看了 CoreImage 框架,发现可以很容易地为整个图像添加效果。我想知道是否可以对图像的特殊部分(矩形)添加效果。例如在部分图像上添加灰度效果/ 期待您的帮助。 谢谢,辉
我在 IOS 上使用 CoreImage 来检测图像中的人脸。当有多个面孔时它工作正常,但不适用于像这样的简单面孔: 人脸真的很大很明显,但是CoreImage检测不到。我想这可能是因为我的 kCGI
我正在使用以下代码从图像中删除绿色背景。但是图像的边缘有绿色色调并且一些像素已损坏。我如何平滑它并使剪切完美。 func chromaKeyFilter(fromHue: CGFloat, toHu
对于那些不熟悉 Core Image 的人,这里有一个很好的描述: http://developer.apple.com/macosx/coreimage.html 是否有与 Apple 的 Core
我正在开发一个 cocoa 应用程序。我使用 CIFilter 和 CIImage 在 NSImage 中应用核心概念。 所以我需要导入CoreImage.framework。但我没有在我的开发人员库
想象一下,你有几百张方形图片,比如专辑封面 一些有白色边框 注意 10px 左右的边框。 我正要写一些简单的光栅代码来检测和删除这样的边界——简单地说,用灰色填充它们。 但是:这可以以某种方式通过核心
我想使用 coreImage 框架检测 UIImage 是否模糊 最佳答案 尝试使用 OpenCV 功能。 http://answers.opencv.org/question/34481/ios-l
我正在尝试使用 CoreImage CIFeature 来检测面部表情,因为这些是 native API。我创建了一个示例 View Controller 项目并更新了相关代码。当我启动这个 iOS
核心图像不起作用: let fileUrl = Bundle.main.url(forResource: "image", withExtension: "png") let bega
我已经创建了我认为应该是合适的灰度 CIFilter,使用针对白色调整的 CIColorMonochromeFilter。这对我来说看起来很灰度,但我也不是专家,所以我只是想知道这是否是灰度过滤器的准
在内核例程规则的文档中,它说“内核例程通过使用反向映射回输入图像的相应像素来计算输出像素。尽管您可以用这种方式表达大多数像素计算(有些比其他更自然),但对于某些图像处理操作来说,即使不是不可能,也是很
我在图像上尝试 CIColorClamp,它应该只将像素保持在指定范围内 (https://developer.apple.com/library/archive/documentation/Grap
我正在编写一个 iOS,我需要能够在图像中进行边缘检测。我实际上想要类似于 Photoshop 的跟踪轮廓的东西。因为我基本上需要得到最简单的一组线来工作。事情是我似乎无法弄清楚如何去做,坦率地说,我
我正在构建一个 iOS 应用程序来执行一些基本检测。我从 AVCaptureVideoDataOutput 获取原始帧,将 CMSampleBufferRef 转换为 UIImage,调整 UIIma
我终于坐下来将我们的一些图形库转换为使用 CoreImage 来渲染图像(用于混合两个图像之类的事情)并且我已经开始工作但速度很慢(iOS5.01 iPhone 4S)。我认为 CoreImage 的
是否存在可用作平滑阈值的现有过滤器?我的意思是像素值应该在两个值之间设置阈值,但中间值是插值的。 基本上,我正在尝试实现这个: https://www.filterforge.com/wiki/ind
我正在使用来自这个问题的 Dondragmer 的“旋转色调”示例中的代码:How to programmatically change the hue of UIImage? 但是,我得到的结果与我
我是一名优秀的程序员,十分优秀!