티스토리 뷰
반응형
VisionRequest
iOS에서는 Vision 요청을 통해 다양한 결과값을 얻어낼 수 있습니다. 예를 들면 객체탐지, 바코드, 이미지 내 얼굴, 텍스트 인식 등이 있습니다. 이러한 Vision 요청을 위해 Vision 프레임워크를 먼저 import 합니다.
import Vision
이후 다양한 종류의 VisionRequest 중에 선택해서 사용할 수 있습니다. 그 예로는 직사각형으로 객체를 탐지하는 VNDetectRectanglesRequest 등의 객체가 있습니다.
Vision과 관련된 객체를 이름 앞에 VN이라는 접두어가 붙습니다.
VisionRequest Handler
VisionRequest에 대한 응답을 받기 위해 사용하는 것이 VisionRequest Handler입니다.
VisionRequest 핸들러는 Vision 요청에 대한 성공/실패 여부를 판단하고 그에 따른 대응을 할 수 있도록 해줍니다.
// Detect Request인 VNDetectRectanglesRequest는 핸들러를 통해 결과 흭득 여부를 판단하고, 그에 따라 결과 값을 처리할 수 있습니다.
// 만약 결과 값, Observation이 없다면 detectError를 출력합니다.
// 만약 Observation값이 존재했다면 그 결과값을 원하는대로 활용할 수 있습니다.
// 이런 Vision Request는 다양한 기능을 지원합니다. 직사각형의 객체탐지 뿐만아니라, 텍스트, 바코드, 이미지 내 얼굴 인식 등 다양한 기능들이 있으며, 이런 각각의 Vision Request들 또한 각각의 Observation 값과 대응됩니다.
// ex) VNRectangleObservation, VNBarcodeObservation ...
// VNDetectRectanglesRequest 활용 예시
var detectionRequest: VNDetectRectanglesRequest {
let request = VNDetectRectanglesRequest { (request, error) in
if let detectError = error as NSError? {
print(detectError)
return
} else {
guard let observations = request.results as? [VNDetectedObjectObservation] else {
return
}
print("\(observations)")
}
}
return request
}
Observation
앞서 언급했던 Vision Request Handler에서는 요청 결과가 없을 경우, 결과값이 존재할 경우에 따른 분기를 두고 처리하는데 사용할 수 있습니다. 이때 얻은 결과값이 존재했다면 Handler를 통해 결과값을 활용할 수 있습니다.
이때 VisionRequest의 결과값을 Observation이라고도 부릅니다.
요약하자면 VisionRequest 간 VisionRequest Handler를 통해 Observation 값을 확인하고 흭득 및 활용할 수 있습니다.
반응형
'iOS 개발' 카테고리의 다른 글
iOS leastNonzeroMagnitude, leastNormalMagnitude 알아보기 (0) | 2020.06.11 |
---|---|
swift 문자열 처리 메서드, split과 components 간단 비교 (0) | 2020.06.09 |
iOS NLTagger로 문자열 어휘, 이름 단위 토큰화 하기 (0) | 2020.06.02 |
iOS 자연어처리, NLTagger로 문자열 토큰화하는 방법 (0) | 2020.06.01 |
iOS grouped TableView의 headerView 제거하는 방법들 (0) | 2020.05.28 |
반응형
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- swift string
- 프로그래머스swift
- swift
- ios
- swift문제
- 스위프트
- 자연어처리
- 프로그래머스
- CoreML
- uikit
- publisher
- swift알고리즘
- swift reduce
- 개발자문서
- 알고리즘
- 백준swift
- Protocol
- 백준알고리즘
- swift 기초
- Swift 알고리즘
- 부스트코스
- 알고리즘문제
- 컬렉션
- swift언어
- SwiftUI
- createML
- Collection
- 프로토콜
- swift 문자열
- 김프매매
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함