J'essaie de dénouer l'image puis d'extraire le squelette d'une image contenant une ligne manuscrite. Je veux que la ligne soit continue et solide mais la méthode que j'utilise ne le fait pas et relativement lentement. Voici l'image originale: Original ImageNettoyage d'une image numérisée dans opencv
Morphed Sur l'image morph, vous pouvez voir une petite île en bas à droite.
L'image amincie ci-dessus montre que la ligne est cassée vers la fin.
Toute autre méthode pour atteindre le résultat souhaité?
Mon code ressemble à ceci:
int morph_elem = 2;
int morph_size = 10;
int morph_operator = 0;
Mat origImage = imread(origImgPath, CV_LOAD_IMAGE_COLOR);
medianBlur(origImage, origImage, 3);
cvtColor(origImage, origImage, COLOR_RGB2GRAY);
threshold(origImage, origImage, 0, 255, THRESH_OTSU);
Mat element = getStructuringElement(morph_elem, Size(2 * morph_size + 1, 2 * morph_size + 1), cv::Point(morph_size, morph_size));
morphologyEx(origImage, origImage, MORPH_OPEN, element);
thin(origImage, true, true, true);
Sur l'image binaire (après le seuil), vous pouvez 'trouver des contours et en retirer de petits, par ex. en utilisant 'contourArea' – Miki