柚子快報(bào)激活碼778899分享:opencv圖像腐蝕
柚子快報(bào)激活碼778899分享:opencv圖像腐蝕
腐蝕(Erosion)是一種形態(tài)學(xué)圖像處理操作,用于移除圖像中的小白點(diǎn)、細(xì)小物體或者邊緣。它通過(guò)將結(jié)構(gòu)元素應(yīng)用于圖像上的像素來(lái)實(shí)現(xiàn)。 以下是opencv實(shí)現(xiàn)圖像腐蝕的代碼
#include
#include
using namespace cv;
int main() {
Mat srcImage = imread("3.png");
imshow("原圖", srcImage);
waitKey(0);
return 0;
}
我們先顯示一下原始圖片。 1 為啥#include的時(shí)候要包含這么長(zhǎng)的頭文件,直接包含這個(gè)hpp不好嗎? 因?yàn)檫@樣做首先可以實(shí)現(xiàn)選擇性地包含文件,其次可以防止額外相同的文件被包含。 2 highgui模塊就是圖像的一些高級(jí)圖像界面模塊你看它后綴名gui。imgproc模塊是圖像處理模塊。
然后是腐蝕的過(guò)程,下面先是代碼
#include
#include
using namespace cv;
int main() {
Mat srcImage = imread("3.png");
imshow("原圖", srcImage);
Mat element = getStructuringElement(MORPH_RECT, Size(30, 30));
Mat dstImage;
erode(srcImage, dstImage, element);
imshow("腐蝕圖", dstImage);
waitKey(0);
return 0;
}
1 getStructuringElement用來(lái)獲取結(jié)構(gòu)元素的函數(shù),結(jié)構(gòu)元素就像是一種小小的形狀模板,用于在圖像處理中執(zhí)行各種操作。比如,可以想象成一個(gè)小小的圖案,比如一個(gè)小方塊、圓圈或者十字形。這個(gè)小形狀可以被放置在圖像上,然后根據(jù)它的形狀和大小,來(lái)改變圖像中的像素值。 2 erode常見的參數(shù)就是輸入,輸出,結(jié)構(gòu)元素。 這個(gè)是效果圖我設(shè)置Size(30,30)的時(shí)候
3 可以試試改變結(jié)構(gòu)元素的形狀
Mat element = getStructuringElement(MORPH_ELLIPSE, Size(1, 1));
Size(10,30)的時(shí)候 Size(1,1)的時(shí)候 可以看出結(jié)構(gòu)元素越大腐蝕的效果就越明顯。 我們還可以實(shí)現(xiàn)迭代次數(shù)的增加,這樣圖像的邊緣更加緊湊(為啥感覺(jué)沒(méi)毛變化)
erode(srcImage, dstImage, element,cv::Point(-1,-1),13,0);
對(duì)了,我簡(jiǎn)單說(shuō)一下腐蝕的原理 這個(gè)涉及的語(yǔ)言講不好講還不如看視頻,博客,以下的都不錯(cuò) 參考資料: https://www.bilibili.com/video/BV1NF411w7fM/?spm_id_from=333.337.search-card.all.click https://zhuanlan.zhihu.com/p/433688663
柚子快報(bào)激活碼778899分享:opencv圖像腐蝕
推薦閱讀
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。