OpenCV 提取水平或垂直線,過濾細 小雜質

2021-08-19 00:25:40 字數 1068 閱讀 6104

灰度化 -> 二值化 -> 建立滿足不同需求的結構元素 -> 開運算

若要去除垂直線,則建立水平長條狀矩形結構元素

若要去除水平線,則建立垂直長條狀矩形結構元素

#include #include #include #include using namespace std;

using namespace cv;

int main()

imshow("input", src1);

cvtcolor(src1, gray_src, cv_bgr2gray);

imshow("output_gray", gray_src);

mat binimg;

adaptivethreshold(~gray_src, binimg, 255, adaptive_thresh_mean_c, thresh_binary, 25, -2);

mat kernel = getstructuringelement(morph_rect, size(4, 4), point(-1, -1));

//morphologyex(binimg, binimg, morph_open, kernel);

imshow("output binary image", binimg);

// 水平結構元素

mat hline = getstructuringelement(morph_rect, size(src1.cols / 16, 1), point(-1, -1));

// 垂直結構元素

mat vline = getstructuringelement(morph_rect, size(1, src1.rows / 16), point(-1, -1));

mat temp;

erode(binimg, temp, kernel);

dilate(temp, dst, kernel);

imshow("temp", temp);

imshow("output", ~dst);

waitkey(0);

return 0;

}

提取水平與垂直線

輸入彩色影象 imread 轉換為灰度影象 cvtcolor 轉換為二值影象 adaptivethreshold 定義結構元素 開操作 膨脹 腐蝕 提取水平與垂直線 include include using namespace cv using namespace std int main int...

opencv形態學操作,提取水平與垂直線

可做驗證碼識別 mat temp,temp1 cvtcolor src,temp,cv bgr2gray imshow temp temp adaptivethreshold temp,temp1,255,adaptive thresh mean c,thresh binary,15,2 轉換為二值...

VC OpenCV3 4 提取水平和垂直線

很多實際的專案中都會遇到線的提取。比如航拍中的電纜線提取,道路交通中的標記線提取 自動駕駛會用到 航母上飛機跑道線的提取等。非常實用也非常重要 原理方法 影象形態學操作的時候,可以通過自定義的結構元素實現結構元素對輸入影象的一些物件敏感 另外一些物件不敏感,這樣就會讓敏感的物件改變而不敏感的物件保留...