二、處理步驟
三、綜合例程
影象形態學操作時候,可以通過自定義的結構元素實現結構元素對輸入影象一些物件敏感、另外一些物件不敏感,這樣就會讓敏感的物件改變而不敏感的物件保留輸出。通過使用兩個最基本的形態學操作 –膨脹與腐蝕,使用不同的結構元素實現對輸入影象的操作、得到想要的結果。
- 膨脹,輸出的畫素值是結構元素覆蓋下輸入影象的最大畫素值二值影象與灰度影象上的膨脹操作- 腐蝕,輸出的畫素值是結構元素覆蓋下輸入影象的最小畫素值
mat src, // 輸入的灰度影象
mat dest, // 二值影象
double maxvalue, // 二值影象最大值
int adaptivemethod // 自適應方法,只能其中之一 –
// adaptive_thresh_mean_c , adaptive_thresh_gaussian_c
int thresholdtype,// 閾值型別
int blocksize, // 塊大小
double c // 常量c 可以是正數,0,負數
mat gray_src;//轉換為灰度影象
cvtcolor(src, gray_src, cv_bgr2gray);
imshow("gray image", gray_src);
mat binimg;//二值化
adaptivethreshold(~gray_src, binimg, 255, adaptive_thresh_mean_c, thresh_binary, 15, -2);
imshow("binary image", binimg);
// 水平結構元素
mat hline = getstructuringelement(morph_rect, size(src.cols / 16, 1), point(-1, -1));
// 垂直結構元素
mat vline = getstructuringelement(morph_rect, size(1, src.rows / 16), point(-1, -1));
// 矩形結構
mat kernel = getstructuringelement(morph_rect, size(3, 3), point(-1, -1));
mat temp;
erode(binimg, temp, kernel); //腐蝕操作
dilate(temp, dst, kernel); //膨脹操作
// morphologyex(binimg, dst, cv_mop_open, vline);
bitwise_not(dst, dst);
//blur(dst, dst, size(3, 3), point(-1, -1));
imshow("final result", dst);
waitkey(0);
return 0;
}
opencv 形態學操作
include include includeusing namespace std using namespace cv 開操作 先腐蝕後膨脹 作用 能夠去掉一些小的物件,保留大的物件 閉操作 先膨脹後腐蝕 作用 將小洞給填充上 形態學梯度 膨脹減去腐蝕 作用 求出邊緣 頂帽變換 原影象與開操作之...
opencv形態學操作
1.腐蝕和膨脹都是相對高亮部分的操作 2.開運算 先腐蝕後膨脹 把細微連在一起的兩塊目標分開了,消除暗背景下的較亮區域。閉運算,閉運算是對影象先膨脹後腐蝕 看上去將兩個細微連線的圖塊封閉在一起,閉運算可以用來消除噪音。因為先高亮部分膨脹抵消了小的黑點,大的黑點經過接下來的腐蝕又再次還原回去,小的黑點...
Opencv 形態學基礎操作
morphologyex src,dst,cv mop blackhat,kernel 操作介面 imshow str0utput,dst cv mop open 先腐蝕 後膨脹 去掉小的物件背景黑色 cv mop close 先腐蝕 後膨脹 去掉小的物件背景白色 cv mop gradient 膨...