<!--
{
  "availability" : [
    "iOS: 18.0.0 -",
    "iPadOS: 18.0.0 -",
    "macOS: 15.0.0 -",
    "tvOS: 18.0.0 -",
    "visionOS: 2.0.0 -",
    "watchOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Vision",
  "identifier" : "/documentation/Vision/ImageProcessingRequest",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "Vision"
    ],
    "preciseIdentifier" : "s:6Vision22ImageProcessingRequestP"
  },
  "title" : "ImageProcessingRequest"
}
-->

# ImageProcessingRequest

A type for image-analysis requests that focus on a specific part of an image.

```
protocol ImageProcessingRequest : VisionRequest
```

## Topics

### Setting the region

[`var regionOfInterest: NormalizedRect`](/documentation/Vision/ImageProcessingRequest/regionOfInterest)

The region of the image where the framework performs the request.

### Performing a request

[`func perform(on: URL, orientation: CGImagePropertyOrientation?) async throws -> Self.Result`](/documentation/Vision/ImageProcessingRequest/perform(on:orientation:)-80bya)

Performs the request on an image URL and produces observations.

[`func perform(on: Data, orientation: CGImagePropertyOrientation?) async throws -> Self.Result`](/documentation/Vision/ImageProcessingRequest/perform(on:orientation:)-3f3f1)

Performs the request on image data and produces observations.

[`func perform(on: CGImage, orientation: CGImagePropertyOrientation?) async throws -> Self.Result`](/documentation/Vision/ImageProcessingRequest/perform(on:orientation:)-qxxx)

Performs the request on a Core Graphics image and produces observations.

[`func perform(on: CVPixelBuffer, orientation: CGImagePropertyOrientation?) async throws -> Self.Result`](/documentation/Vision/ImageProcessingRequest/perform(on:orientation:)-xspx)

Performs the request on a pixel buffer and produces observations.

[`func perform(on: CMSampleBuffer, orientation: CGImagePropertyOrientation?) async throws -> Self.Result`](/documentation/Vision/ImageProcessingRequest/perform(on:orientation:)-3hddl)

Performs the request on a Core Media buffer and produces observations.

[`func perform(on: CIImage, orientation: CGImagePropertyOrientation?) async throws -> Self.Result`](/documentation/Vision/ImageProcessingRequest/perform(on:orientation:)-85ex1)

Performs the request on a Core Image image and produces observations.

## Relationships

### Conforming Types

[`DetectFaceCaptureQualityRequest`](/documentation/Vision/DetectFaceCaptureQualityRequest)

[`DetectHumanBodyPoseRequest`](/documentation/Vision/DetectHumanBodyPoseRequest)

[`RecognizeDocumentsRequest`](/documentation/Vision/RecognizeDocumentsRequest)

[`DetectBarcodesRequest`](/documentation/Vision/DetectBarcodesRequest)

[`GenerateImageFeaturePrintRequest`](/documentation/Vision/GenerateImageFeaturePrintRequest)

[`GenerateForegroundInstanceMaskRequest`](/documentation/Vision/GenerateForegroundInstanceMaskRequest)

[`GenerateIterativeSegmentationRequest`](/documentation/Vision/GenerateIterativeSegmentationRequest)

[`DetectTrajectoriesRequest`](/documentation/Vision/DetectTrajectoriesRequest)

[`DetectContoursRequest`](/documentation/Vision/DetectContoursRequest)

[`RecognizeAnimalsRequest`](/documentation/Vision/RecognizeAnimalsRequest)

[`GeneratePersonSegmentationRequest`](/documentation/Vision/GeneratePersonSegmentationRequest)

[`TrackOpticalFlowRequest`](/documentation/Vision/TrackOpticalFlowRequest)

[`TrackHomographicImageRegistrationRequest`](/documentation/Vision/TrackHomographicImageRegistrationRequest)

[`GeneratePersonInstanceMaskRequest`](/documentation/Vision/GeneratePersonInstanceMaskRequest)

[`DetectLensSmudgeRequest`](/documentation/Vision/DetectLensSmudgeRequest)

[`DetectRectanglesRequest`](/documentation/Vision/DetectRectanglesRequest)

[`DetectHumanHandPoseRequest`](/documentation/Vision/DetectHumanHandPoseRequest)

[`RecognizeTextRequest`](/documentation/Vision/RecognizeTextRequest)

[`DetectHumanBodyPose3DRequest`](/documentation/Vision/DetectHumanBodyPose3DRequest)

[`DetectHumanRectanglesRequest`](/documentation/Vision/DetectHumanRectanglesRequest)

[`CoreMLRequest`](/documentation/Vision/CoreMLRequest)

[`DetectFaceLandmarksRequest`](/documentation/Vision/DetectFaceLandmarksRequest)

[`TrackRectangleRequest`](/documentation/Vision/TrackRectangleRequest)

[`GenerateObjectnessBasedSaliencyImageRequest`](/documentation/Vision/GenerateObjectnessBasedSaliencyImageRequest)

[`DetectDocumentSegmentationRequest`](/documentation/Vision/DetectDocumentSegmentationRequest)

[`GenerateAttentionBasedSaliencyImageRequest`](/documentation/Vision/GenerateAttentionBasedSaliencyImageRequest)

[`DetectTextRectanglesRequest`](/documentation/Vision/DetectTextRectanglesRequest)

[`DetectFaceRectanglesRequest`](/documentation/Vision/DetectFaceRectanglesRequest)

[`DetectHorizonRequest`](/documentation/Vision/DetectHorizonRequest)

[`ClassifyImageRequest`](/documentation/Vision/ClassifyImageRequest)

[`TrackTranslationalImageRegistrationRequest`](/documentation/Vision/TrackTranslationalImageRegistrationRequest)

[`CalculateImageAestheticsScoresRequest`](/documentation/Vision/CalculateImageAestheticsScoresRequest)

[`DetectAnimalBodyPoseRequest`](/documentation/Vision/DetectAnimalBodyPoseRequest)

[`TrackObjectRequest`](/documentation/Vision/TrackObjectRequest)

### Inherits From

[`Sendable`](/documentation/Swift/Sendable)

[`VisionRequest`](/documentation/Vision/VisionRequest)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`Equatable`](/documentation/Swift/Equatable)

[`Hashable`](/documentation/Swift/Hashable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)