ByteNoteByteNote

字节笔记本

2026年3月13日

mac-vision-api:macOS 视觉 API 工具

API中转
¥120

本文介绍 mac-vision-api,一个专为 macOS 平台设计的视觉 API 工具。项目利用 macOS 的原生视觉框架,提供强大的图像识别、分析和处理能力,是 Mac 平台上构建视觉应用的理想选择。

项目简介

mac-vision-api 是一个开源的 macOS 视觉工具,由 biyan113 开发维护。项目基于 Apple 的 Vision 框架,提供了简单易用的 API 接口,让开发者能够轻松集成图像识别、文字检测、人脸识别等功能到自己的应用中。

核心特性

  • 原生框架:基于 Apple Vision Framework
  • 图像识别:支持多种图像识别任务
  • 文字检测:OCR 文字识别功能
  • 人脸识别:人脸检测和识别
  • 简单 API:易于使用的接口设计
  • 高性能:利用 macOS 原生加速
  • 本地处理:所有处理在本地完成

技术栈

  • Swift - 主要开发语言
  • Vision Framework - Apple 视觉框架
  • Core Image - 图像处理
  • macOS - 支持平台

安装指南

前置要求

  • macOS 10.15+
  • Xcode 12+

安装步骤

bash
# 克隆项目
git clone https://github.com/biyan113/mac-vision-api.git

# 打开项目
cd mac-vision-api
open mac-vision-api.xcodeproj

快速开始

基本使用

swift
import Vision

// 创建视觉请求
let request = VNRecognizeTextRequest()
request.recognitionLevel = .accurate

// 处理图像
let handler = VNImageRequestHandler(cgImage: image, options: [:])
try handler.perform([request])

主要功能

1. 文字识别(OCR)

swift
// 识别图像中的文字
let request = VNRecognizeTextRequest { request, error in
    guard let observations = request.results as? [VNRecognizedTextObservation] else { return }

    for observation in observations {
        let text = observation.topCandidates(1).first?.string
        print(text)
    }
}

2. 人脸检测

swift
// 检测图像中的人脸
let request = VNDetectFaceLandmarksRequest { request, error in
    guard let observations = request.results as? [VNFaceObservation] else { return }

    for face in observations {
        print("Face detected at: \(face.boundingBox)")
    }
}

3. 图像分类

swift
// 分类图像内容
let request = VNClassifyImageRequest { request, error in
    guard let results = request.results as? [VNClassificationObservation] else { return }

    for classification in results {
        print("\(classification.identifier): \(classification.confidence)")
    }
}

4. 物体检测

swift
// 检测图像中的物体
let request = VNRecognizeAnimalsRequest { request, error in
    guard let results = request.results as? [VNRecognizedObjectObservation] else { return }

    for object in results {
        print("Object: \(object.labels.first?.identifier ?? "")")
    }
}

应用场景

  • 文档扫描:自动识别文档文字
  • 图片管理:自动分类和标记
  • 安全验证:人脸识别验证
  • 内容审核:图像内容检测
  • 辅助功能:视障辅助
  • 数据提取:从图片提取信息

注意事项

  • 仅支持 macOS 平台
  • 需要较新的 macOS 版本
  • 某些功能需要特定权限
  • 大图像可能消耗较多内存

项目链接

分享: