Maison > développement back-end > C++ > Comment optimiser OpenCV pour détecter avec précision les quatre coins d'une feuille de papier ?

Comment optimiser OpenCV pour détecter avec précision les quatre coins d'une feuille de papier ?

Susan Sarandon
Libérer: 2024-12-24 11:22:10
original
533 Les gens l'ont consulté

How Can OpenCV Be Optimized to Accurately Detect the Four Corners of a Sheet of Paper?

Détection d'une feuille de papier (détection de carrés) à l'aide d'OpenCV

Problème initial :

Un développeur a implémenté avec succès l'exemple de détection de carrés OpenCV, mais la sortie est encombrée de contours inutiles. L'objectif est de filtrer les résultats pour obtenir les quatre coins d'une feuille de papier pour un traitement ultérieur.

Solution proposée :

L'extrait de code fourni détecte les carrés en utilisant plusieurs niveaux de seuil et élimine les trous potentiels entre les segments de bord grâce à la dilatation. Cependant, il ne filtre pas le désordre. Pour résoudre ce problème, modifiez la fonction find_squares comme suit :

void find_squares(Mat&amp; image, vector<vector<Point> >&amp; squares)
{
    ... [code as before] ...

    // Filter out unnecessary contours and store the largest square
    vector<Point> largestSquare;
    double maxArea = 0;

    for (auto& square : squares)
    {
        double area = fabs(contourArea(Mat(square)));
        if (area > maxArea)
        {
            maxArea = area;
            largestSquare = square;
        }
    }

    squares.clear(); // Clear existing squares vector
    squares.push_back(largestSquare); // Store the largest square
}
Copier après la connexion

Sortie finale :

Après avoir appliqué cette modification, les carrés vectoriels résultants ne contiendront que les quatre les coins de la feuille de papier détectée constituent le plus grand carré de l'image. Cela peut ensuite être utilisé pour la réduction de l'inclinaison ou pour d'autres tâches de traitement d'image.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal