> For the complete documentation index, see [llms.txt](https://docs.mindee.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mindee.com/v2/fr/modeles-crop/sdk-integration/crop-result.md).

# Résultat Crop

## Accéder aux éléments Crop

A `CropItem` décrit l'emplacement d'un seul objet détecté.

Dans ce contexte, un *objet* peut être n'importe quel élément à trouver sur une page.

La plupart des utilisateurs chercheront un type de document (comme un reçu ou une pièce d'identité), mais cela peut en réalité être n'importe quoi (une photo, un logo, etc.).&#x20;

### `CropItem` Attributs

#### Type d'objet

La catégorie attribuée à l'objet. Elle est toujours renseignée.

Elle est renvoyée sous forme de chaîne et est identique à la valeur saisie sur la plateforme Mindee — casse, espaces et ponctuation compris.

Pourquoi « Type d'objet » plutôt que « Type de document », comme pour Split et Classification ? Parce que la technologie fondamentale est différente : Crop utilise des algorithmes de détection d'objets, tandis que Split et Classification utilisent des variantes de la technologie de classification.

#### Emplacement

L'emplacement de l'objet dans le document. Il contient les propriétés suivantes :

* Polygone : coordonnées de l'objet.
* Page : indice basé sur 0 de la page où les coordonnées ont été trouvées.

#### Réponse d'extraction

Réponse d'extraction optionnelle associée au Split. Elle n'est renseignée que si l'enchaînement d'extraction est activé pour le modèle.

### Parcourir les éléments Crop

Vous voudrez généralement parcourir tous les éléments Crop, car le nombre d'éléments dépend du document. N'oubliez pas qu'un document peut comporter plusieurs pages, et que chacune de ses pages peut comporter plusieurs éléments Crop.

{% tabs %}
{% tab title="Python" %}

```python
from mindee import CropResponse

def handle_response(response: CropResponse) -> None:
    crops = response.inference.result.crops

    for crop in crops:
        # Type d'objet identifié pour ce crop
        object_type = crop.object_type
        print(f"Type détecté : {object_type}")

        # Emplacement du crop
        location = crop.location

        # Indice de page basé sur 0
        page = location.page

        # Objet polygone, qui inclut des méthodes utiles
        polygon = location.polygon
        center = polygon.centroid

        print(f"Sur la page {page}, avec un centre en {center}")

        # Réponse d'extraction optionnelle, présente si l'enchaînement d'extraction a été demandé
        extraction_response = crop.extraction_response

        if extraction_response is not None:
            # Accéder aux champs extraits du résultat d'inférence du crop
            fields = extraction_response.inference.result.fields
            print(f"Champs d'extraction : {fields}")
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
function handleResponse(response): void {
  const crops = response.inference.result.crops;

  for (const crop of crops) {
    // Type d'objet identifié pour ce crop
    const objectType = crop.objectType;
    console.log(`Type détecté : ${objectType}`);

    // Emplacement du crop
    const location = crop.location;

    // Indice de page basé sur 0
    const page = location.page;

    // Objet polygone, qui inclut des méthodes utiles
    const polygon = location.polygon;
    const center = polygon.getCentroid();

    console.log(`Sur la page ${page}, avec un centre en ${center}`);

    // Réponse d'extraction optionnelle, présente si l'enchaînement d'extraction a été demandé
    const extractionResponse = crop.extractionResponse;

    if (extractionResponse !== undefined) {
      // Accéder aux champs extraits du résultat d'inférence du crop
      const fields = extractionResponse.inference.result.fields;
      console.log(`Champs d'extraction : ${fields}`);
    }
  }
}
```

{% endtab %}

{% tab title="PHP" %}

```php
use Mindee\\V2\\Product\\Split\\CropResponse;

public function handleResponse(CropResponse $response)
{
    $crops = $response->inference->result->crops;
}
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
def handle_response(response)
  crops = response.inference.result.crops

  crops.each do |crop|
    # Type d'objet identifié pour ce crop
    object_type = crop.object_type
    puts "Type détecté : #{object_type}"

    # Emplacement du crop
    location = crop.location

    # Indice de page basé sur 0
    page = location.page

    # Objet polygone, qui inclut des méthodes utiles
    polygon = location.polygon
    center = polygon.centroid

    puts "Sur la page #{page}, avec un centre en #{center}"

    # Réponse d'extraction optionnelle, présente si l'enchaînement d'extraction a été demandé
    extraction_response = crop.extraction_response

    unless extraction_response.nil?
      # Accéder aux champs extraits depuis le résultat d'inférence du Split
      fields = extraction_response.inference.result.fields
      puts "Champs d'extraction : #{fields}"
    end
  end
end
```

{% endtab %}

{% tab title="Java" %}

```java
import com.mindee.v2.product.crop.CropResponse;

public void handleResponse(CropResponse response) {
  var crops = response.getInference().getResult().getCrops();
  
  for (var crop : crops) {
    // Type d'objet identifié pour ce crop
    String objectType = crop.getObjectType();
    System.out.println("Type détecté : " + objectType);

    // location of the crop
    var location = crop.getLocation();

    // Indice de page basé sur 0
    var page = location.getPage();

    // polygon object, which includes some useful methods
    var polygon = location.getPolygon();
    var center = polygon.GetCentroid();

    System.out.println("Sur la page " + page + ", avec un centre en " + center);

    // Réponse d'extraction optionnelle, présente si l'enchaînement d'extraction a été demandé
    var extractionResponse = crop.GetExtractionResponse();

    if (extractionResponse != null) {
      // Accéder aux champs extraits depuis le résultat d'inférence du Split
      var fields = extractionResponse.getInference().getResult().getFields();
      System.out.println("Champs d'extraction : " + fields.toString());
    }
  }
}
```

{% endtab %}

{% tab title=".NET" %}

```csharp
using Mindee.V2.Product.Crop;

public void HandleResponse(CropResponse response)
{
    var crops = response.Inference.Result.Crops;

    foreach (var crop in crops)
    {
        // Type d'objet identifié pour ce crop
        string objectType = crop.ObjectType;
        Console.WriteLine($"Type détecté : {objectType}");

        // Emplacement du crop
        var location = crop.Location;

        // Indice de page basé sur 0
        var page = location.Page;

        // Objet polygone, qui inclut des méthodes utiles
        var polygon = location.Polygon;
        var center = polygon.GetCentroid();

        Console.WriteLine($"Sur la page {page}, avec un centre en {center}");

        // Réponse d'extraction optionnelle, présente si l'enchaînement d'extraction a été demandé
        var extractionResponse = crop.ExtractionResponse;

        if (extractionResponse != null)
        {
            // Accéder aux champs extraits du résultat d'inférence du crop
            var fields = extractionResponse.Inference.Result.Fields;
            Console.WriteLine($"Champs d'extraction : {fields}");
        }
    }
}
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mindee.com/v2/fr/modeles-crop/sdk-integration/crop-result.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
