OpenCV如何實(shí)現(xiàn)腐蝕,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供如東網(wǎng)站建設(shè)、如東做網(wǎng)站、如東網(wǎng)站設(shè)計(jì)、如東網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、如東企業(yè)網(wǎng)站模板建站服務(wù),十年如東做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
腐蝕和膨脹是最基本的形態(tài)學(xué)運(yùn)算。
腐蝕和膨脹是針對(duì)白色部分(高亮部分)而言的。
膨脹就是對(duì)圖像高亮部分進(jìn)行“領(lǐng)域擴(kuò)張”,效果圖擁有比原圖更大的高亮區(qū)域;腐蝕是原圖中的高亮區(qū)域被蠶食,效果圖擁有比原圖更小的高亮區(qū)域。
膨脹
膨脹就是求局部最大值的操作,從圖像直觀看來,就是將圖像光亮部分放大,黑暗部分縮小。
#include#include using namespace std;using namespace cv;int main(){ Mat img = imread("lol1.jpg"); namedWindow("原始圖", WINDOW_NORMAL); imshow("原始圖", img); Mat out; Mat element = getStructuringElement(MORPH_RECT, Size(15, 15)); dilate(img, out, element); namedWindow("膨脹操作", WINDOW_NORMAL); imshow("膨脹操作", out); waitKey(0); }
可以看到,圖像原來光亮的部分被放大了,黑暗的部分被縮小了。
腐蝕
#include#include using namespace std;using namespace cv;int main(){ Mat img = imread("lol1.jpg"); namedWindow("原始圖", WINDOW_NORMAL); imshow("原始圖", img); Mat out; Mat element = getStructuringElement(MORPH_RECT, Size(15, 15)); erode(img, out, element); namedWindow("腐蝕操作", WINDOW_NORMAL); imshow("腐蝕操作", out); waitKey(0); }
可以看到,圖像原來黑暗的部分被放大了,明亮的部分被縮小了。
開運(yùn)算:先腐蝕再膨脹,用來消除小物體
閉運(yùn)算:先膨脹再腐蝕,用于排除小型黑洞
形態(tài)學(xué)梯度:就是膨脹圖與俯視圖之差,用于保留物體的邊緣輪廓。
頂帽:原圖像與開運(yùn)算圖之差,用于分離比鄰近點(diǎn)亮一些的斑塊。
黑帽:閉運(yùn)算與原圖像之差,用于分離比鄰近點(diǎn)暗一些的斑塊。
opencv里有一個(gè)很好的函數(shù)getStructuringElement,我們只要往這個(gè)函數(shù)傳相應(yīng)的處理參數(shù),就可以進(jìn)行相應(yīng)的操作了,使用起來非常方便。
下面列舉一下相應(yīng)的操作宏定義。
#include#include using namespace std;using namespace cv;int main(){ Mat img = imread("lol1.jpg"); namedWindow("原始圖", WINDOW_NORMAL); imshow("原始圖", img); Mat out; Mat element = getStructuringElement(MORPH_RECT, Size(15, 15)); morphologyEx(img, out, MORPH_GRADIENT, element); namedWindow("形態(tài)學(xué)處理操作", WINDOW_NORMAL); imshow("形態(tài)學(xué)處理操作", out); waitKey(0); }
形態(tài)學(xué)梯度處理
這個(gè)是頂帽運(yùn)算的效果
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。