Vision 命名空間
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
視覺命名空間提供高階影像辨識和註冊設備。
類別
介面
IVNFaceObservationAccepting |
VNImageBasedRequest可能偵測臉部 (的物件介面, VNDetectFaceLandmarksRequest 例如) 。 |
IVNRequestRevisionProviding |
視覺命名空間提供高階影像辨識和註冊設備。 |
列舉
委派
VNRequestCompletionHandler |
針對 中偵測到的每個功能呼叫一次的 VNRequest 委派。 |
備註
iOS 11 中引進的視覺命名空間提供高階影像辨識、分割和機器學習工作的通用介面。
視覺命名空間提供數個內建影像處理函式:
除了內建函式之外,Vision 還支援對 CoreMLMLModel 物件的彈性影像型查詢。 相較于 CoreML 的精確輸入需求, T:Vision.IVNTargetedImageRequest 的實作者可以接受各種影像格式: CIImage 、 CGImage 和 CVPixelBuffer 物件。 系統會縮放影像,並將影像轉換成 所需的 MLModel 輸入格式。
在所有情況下,視覺要求和影像都會傳遞至 VNImageRequestHandler ,其 :VNImageRequestHandler.Perform*方法會執行回呼,並傳遞一或多個 VNObservation 要求適當類型的物件。 例如:
var rectangleRequest = new VNDetectRectanglesRequest(HandleRectangles);
var handler = new VNImageRequestHandler(img, orientation, new VNImageOptions());
DispatchQueue.DefaultGlobalQueue.DispatchAsync(()=>{
NSError error;
handler.Perform(new VNRequest[] {rectangleRequest}, out error);
if (error != null)
{
ErrorOccurred(error);
}
});
void HandleRectangles(VNRequest request, NSError error){
VNRectangleObservation[] observations = request.GetResults<VNRectangleObservation>();
// ... etc ...