我試圖去噪圖像,然後提取包含手寫線的圖像的骨架。我希望這條線是連續而堅實的,但是我使用的方法沒有做到這一點,而且速度相對較慢。這裏的原始圖像: Original Image清潔opencv中的掃描圖像
Morphed 在經過變形的圖像,你可以在右下角看到一個小島。
上面的細化圖像顯示線條在結尾附近斷開。
任何其他的方法來達到預期的效果?
我的代碼如下所示:
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);
在二值圖像(閾值之後)你可以'findContour's,並刪除小的例如,使用'contourArea' – Miki