目次

はじめに

本書の構成
対象読者
動作環境
本書のスコープ
サンプルコード
表記関係について

第1章 SwiftUI概要

1.1 特徴
1.2 宣言的シンタックス
1.3 View修飾子
1.4 データバインディング
1.5 Combine
1.6 まとめ

第2章 Visionフレームワーク概要

2.1 画像分析の流れ
2.2 Visionフレームワークで分析可能なもの
2.3 VNRequest
2.4 VNImageRequestHandlerとVNSequenceRequestHandler
2.5 VNObservation
2.6 VNObservationのサブクラス
2.7 UIKit/SwiftUIとVisionフレームワークの座標系の違い
2.8 まとめ

第3章 静止画像を分析

3.1 サンプルアプリ概要
3.2 VNDetectFaceRectanglesRequest
3.3 VNDetectFaceLandmarksRequest
3.4 VNDetectTextRectanglesRequest
3.5 VNRecognizeTextRequest
3.6 VNDetectBarcodesRequest
3.7 VNDetectRectanglesRequest
3.8 まとめ

第4章 カメラ画像をトラッキング

4.1 サンプルアプリ概要
4.2 AVCaptureSessionの準備
4.3 Session開始
4.4 トラッキング実行
4.5 描画
4.6 まとめ

あとがき

感想、フィードバック
謝辞
画像提供
参考文献
付録

はじめに

 Visionフレームワークは顔検出、文字認識、バーコード認識などの画像分析ができるAppleのフレームワークです。高度なコンピュータービジョンの知識を持っていなくても、シンプルに画像分析アプリを作れます。本書ではVisionフレームワークの概要から、実務で応用できる実装方法までをわかりやすく解説します。サンプルアプリでは、静止画像の画像分析や、カメラを使ったリアルタイム分析などについてSwiftUIを使って作成しています。これからVisionフレームワークを活用した画像分析を始めたいと考えている方にオススメの一冊となっております。VisionフレームワークとSwiftUIを使ってアプリの幅を広げましょう!

本書の構成

 ・第1章「SwiftUI概要」

  ─まずはSwiftUIの特徴とSwiftUIでのアプリ作成の概要を解説します。

 ・第2章「Visionフレームワーク概要」

  ─次にVisionフレームワークと実装にあたっての概要を解説します。

 ・第3章「静止画像をVisionで分析」

  ─静止画像から画像分析を行います。顔検出、文字認識、バーコード認識などの分析を通してVisionフレームワークの具体的な使い方についてサンプルコードを交えて解説します。

 ・第4章「カメラ画像をトラッキング」

  ─iPhoneのカメラ画像からリアルタイムでの顔検出を行います。カメラ画像におけるトラッキング処理についてサンプルコードを交えて解説します。

対象読者

 本書は次の読者を対象としています。

 ・初級から中級程度のiOSエンジニア

  ─SwiftUIのチュートリアルが終わっていると理解が早いです

 ・Visionフレームワークで画像分析を始めたい方

動作環境

 本書は次の環境で検証しています。

 ・iOS 14.5

 ・Xcode 12.5

 ・Swift 5.4

 ・macOS 11.4

本書のスコープ

 本書はVisionフレームワークの入門を目的に執筆しました。VisionフレームワークはiOS/macOS/tvOSで利用できるフレームワークですが、本書ではiOSプラットフォームを中心に解説します。Swift言語自体の解説は行いません。2021年のWWDCにてiOS 15が発表されて、Visionフレームワークも多くの機能が更新されましたが、本書ではiOS 14までの内容を解説します。SwiftUIを深く理解していなくても大丈夫です。本書のサンプルアプリで利用したSwiftUIの実装方法は第1章「SwiftUI概要」にて解説します。

サンプルコード

 次のリポジトリーに本書のサンプルコードが掲載されています。

 ・https://github.com/SatoTakeshiX/SwiftUI-Vision

 各章のサンプルプロジェクトがディレクトリでまとめられています。どのプロジェクトをサンプルとして利用するのかは各章でお伝えします。

表記関係について

 本書に記載されている会社名、製品名などは、一般に各社の登録商標または商標、商品名です。会社名、製品名については、本文中では©、®、™マークなどは表示していません。

第1章 SwiftUI概要

 SwiftUIはWWDC 19で発表された新しいUIフレームワークです。macOS/iOS/tvOS/watchOSといったAppleプラットフォーム向けに、同じコードでビルドできます。今まではiOSならUIKit, macOSならAppKitを利用して画面のレイアウトを実装していましたが、SwiftUIで統一することができます。またSwiftUIはステートドリブンなシステムで、データが更新されると自動的にViewも更新されるため、バグを減少させることができます。

 本書ではSwiftUIを使って、Visionフレームワークを解説します。そのため、本章でまず最初にSwiftUIの概要を解説します。

 ・サンプルコードURL

 ・https://github.com/SatoTakeshiX/SwiftUI-Vision/tree/main/SwiftUIOverview

1.1 特徴

 SwiftUIの特徴は次のようなものがあります。

 ・宣言的シンタックスでViewをレイアウト

 ・データバインディングでViewとデータの不整合が減らせる

試し読みはここまでです。
この続きは、製品版でお楽しみください。