Maison > développement back-end > C++ > Comment utiliser correctement cv::warpPerspective pour le redressement d'image ?

Comment utiliser correctement cv::warpPerspective pour le redressement d'image ?

Susan Sarandon
Libérer: 2024-12-03 19:18:12
original
275 Les gens l'ont consulté

How to Correctly Use cv::warpPerspective for Image Deskewing?

Comment appliquer cv::warpPerspective pour redresser un ensemble de points

Lors de l'exécution d'une transformation de perspective sur un ensemble de points pour obtenir un effet de redressement, il est crucial de comprendre la bonne organisation des points et l'utilisation appropriée des cv::getPerspectiveTransform.

Assurer l'ordre correct des points

Les points représentant les coins de la ROI doivent suivre un ordre spécifique dans les vecteurs source et de destination. Par exemple, si les points sources sont disposés comme (en haut à gauche, en bas à gauche, en bas à droite, en haut à droite), les points de destination doivent également suivre cet ordre.

Définition de la taille de l'image

Pour vous assurer que l'image résultante contient uniquement l'objet qui vous intéresse, définissez sa largeur et sa hauteur pour qu'elles correspondent à la largeur et à la hauteur du cadre de délimitation rectangulaire autour de l'objet. ROI.

Utiliser des transformations affines pour plus d'efficacité

Pour les transformations affines (rotation, redimensionnement, redressement), il est plus efficace d'utiliser les fonctions getAffineTransform et warpAffine. Ces fonctions n'attendent que trois points et une matrice 2 par 3 au lieu d'une matrice 3 par 3.

Définition de la taille de l'image de destination

Pour créer une destination image avec une taille différente de celle de l'entrée, utilisez la syntaxe suivante dans cv::warpPerspective:

cv::warpPerspective(src, dst, dst.size(), ... );
Copier après la connexion

ou utilisez la syntaxe suivante dans cv::warpAffine:

cv::warpAffine(src, rotated, warpAffineMatrix, size, INTER_LINEAR, BORDER_CONSTANT);
Copier après la connexion

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