Apple Vision框架
Apple Vision框架

Apple Vision框架

Apple 的 Vision 框架(Vision.framework) 是一个功能强大的计算机视觉框架,可以对图像和视频内容进行分析处理,常用于人脸识别、文字识别(OCR)、图像分类、手势识别、目标跟踪等。

支持iOS, macOS, tvOS, visionOS等平台,最低系统要求为iOS 11.0+ / macOS 10.13+,支持Core ML自定义模型。

核心功能

1、文字识别(OCR)

类:VNRecognizeTextRequest

功能:识别图像中的文字,支持多语言、纠错、自定义词典

支持中英混排、PDF、手写等(精度视版本而定)

2、人脸识别

类:VNDetectFaceRectanglesRequest, VNDetectFaceLandmarksRequest

功能:检测人脸、五官轮廓、表情等

可用于美颜、AR、对焦、打码等场景

3、图像分类

类:VNCoreMLRequest + CoreML 模型

功能:将图像传入训练好的模型中进行推理(如猫狗识别)

4、物体检测与识别

类:VNDetectRectanglesRequest, VNDetectBarcodesRequest, VNDetectTextRectanglesRequest

检测二维码、条形码、矩形框、目标物体等

5、物体追踪

类:VNTrackObjectRequest, VNTrackRectangleRequest

功能:在视频中追踪目标物体,结合图像识别构建视频分析

6、人体姿态识别

类:VNDetectHumanBodyPoseRequest, VNDetectHumanHandPoseRequest

功能:识别身体或手部关键点(骨骼识别)

支持实时相机追踪(iOS 14+)

7、图像对比 / 相似度分析

类:VNGenerateImageFeaturePrintRequest

功能:可用于相似图检索、人脸聚类、重复图去重等

使用场景

1、OCR文字识别

let request = VNRecognizeTextRequest { request, error in
    if let observations = request.results as? [VNRecognizedTextObservation] {
        for observation in observations {
            if let candidate = observation.topCandidates(1).first {
                print("识别文字:", candidate.string)
            }
        }
    }
}

let handler = VNImageRequestHandler(cgImage: inputCGImage, options: [:])
try? handler.perform([request])

实际OCR文字识别场景,请见《Swift实现OCR(光学字符识别)功能》。

图像输入支持

VNImageRequestHandler 支持以下类型的图像数据:

1、CGImage

2、CIImage

3、CVPixelBuffer

4、URL(如图像文件)

5、CMSampleBuffer(视频帧)

相关文章

1、Framework Version:https://developer.apple.com/documentation/vision

2、Swift实现OCR(光学字符识别)功能:https://fangjunyu.com/2025/07/28/swift%e5%ae%9e%e7%8e%b0ocr%ef%bc%88%e5%85%89%e5%ad%a6%e5%ad%97%e7%ac%a6%e8%af%86%e5%88%ab%ef%bc%89%e5%8a%9f%e8%83%bd/

   

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开发者。

欢迎加入我们的 微信交流群QQ交流群,交流更多精彩内容!
微信交流群二维码 QQ交流群二维码

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注