欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++?opencv圖像處理實(shí)現(xiàn)圖像腐蝕和膨脹示例

 更新時(shí)間:2022年05月13日 08:55:34   作者:淺念念52  
這篇文章主要為大家介紹了C++?opencv圖像處理實(shí)現(xiàn)圖像腐蝕和圖像膨脹示例代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

1 概念

1.1 腐蝕跟膨脹是最基本的形態(tài)學(xué)運(yùn)算

1.2 腐蝕跟膨脹是對(duì)圖像的白色的部分(亮光部分)進(jìn)行操作

1.3 腐蝕是對(duì)亮光部分進(jìn)行腐蝕 擁有比原圖更小的亮光部分

1.4 膨脹是對(duì)亮光部分進(jìn)行膨脹 擁有比原圖更大的亮光部分 

這里有一個(gè)誤區(qū) 

假如說(shuō)在圖片上的一個(gè)字,很多人都會(huì)認(rèn)為膨脹是將圖片上的字進(jìn)行膨脹放大實(shí)則不然

可以看到膨脹是將圖片上的亮色區(qū)域進(jìn)行放大,字就會(huì)變得更小,結(jié)構(gòu)體夠大的情況下,字就會(huì)看不見(jiàn)了**

可以看到腐蝕是將圖片上的亮色區(qū)域進(jìn)行放小,字就會(huì)變得更大。

2 膨脹

1.先看膨脹函數(shù)的原碼,可以到opencv官網(wǎng)進(jìn)行查看

附鏈接:https://docs.opencv.org/4.5.5/

這里選擇是4.5.5 版本

  • src 輸入圖像
  • dst 輸出與src相同大小和類型的圖像。
  • kernle 用于膨脹的核結(jié)構(gòu)元素 內(nèi)核可以使用getStructuringElement創(chuàng)建
  • getStructuringElement函數(shù)下面會(huì)說(shuō)到
  • anchor 元素中錨的錨定位置; 默認(rèn)值(-1,-1)表示錨位于元素中心。
  • iterations 迭代次數(shù)
  • borderType 像素外推方法
  • borderValue 當(dāng)邊界為常數(shù)時(shí)的邊界值

當(dāng)我們用dilate 函數(shù)時(shí)一般情況下使用前三個(gè)參數(shù)就可以了,后面參數(shù)都有其默認(rèn)值,可以視情況改變

2 接下來(lái)了解getStructuringElement函數(shù)

  • shape 形狀
  • MORPH_RECT 矩形
  • MORPH_CROSS 交叉形
  • MORPH_ELLIPSE 橢圓形
  • Szie 構(gòu)造元素的大?。▋?nèi)核尺寸)
  • anchor 錨定位置,默認(rèn)(-1,1)表示錨位于中心

3 代碼

int main()
{
	Mat img1, img2;
	img1 = imread("貓.png");
	imshow("原圖", img1);
	Mat element = getStructuringElement(MORPH_RECT, Size(7, 7));
	dilate(img1, img2, element);
	imshow("效果圖", img2);
	waitKey(0);
}

效果圖 :

3 腐蝕

1.先看腐蝕函數(shù)的原碼

  • src 輸入圖像
  • dst 輸出與src相同大小和類型的圖像。
  • kernle 用于腐蝕的核結(jié)構(gòu)元素 內(nèi)核可以使用getStructuringElement創(chuàng)建
  • anchor 元素中錨的錨定位置; 默認(rèn)值(-1,-1)表示錨位于元素中心。
  • iterations 迭代次數(shù)
  • borderType 像素外推方法
  • borderValue 當(dāng)邊界為常數(shù)時(shí)的邊界值

2 代碼

int main()
{
	Mat img1, img2;
	img1 = imread("貓1.jpg");
	imshow("原圖", img1);
	Mat element = getStructuringElement(MORPH_RECT, Size(7, 7));
	erode(img1, img2, element);
	imshow("效果圖", img2);
	waitKey(0);
}

3 效果圖

4 調(diào)整數(shù)值的軌跡條

1.先看函數(shù)原碼

  • trackbarname 創(chuàng)建的軌跡條名稱。
  • winname 窗口的名稱,可以附加在指定的窗口上
  • value 一個(gè)指向整形變量的指針,其值反映滑塊的位置。 在創(chuàng)建時(shí),滑塊的位置由這個(gè)變量定義。
  • count滑塊的最大位置。 最小的位置總是0。
  • onChange 指針指向每次滑塊改變位置時(shí)調(diào)用的函數(shù)。 這個(gè)函數(shù)的原型應(yīng)該是void Foo(int,void*); 其中第一個(gè)參數(shù)是軌跡條位置,第二個(gè)參數(shù)是用戶數(shù)據(jù)(見(jiàn)下一個(gè)參數(shù))。 如果回調(diào)函數(shù)是NULL指針,則不調(diào)用回調(diào)函數(shù),只更新值。
  • userdata 作為回調(diào)函數(shù)傳遞的用戶數(shù)據(jù)

2 代碼

Mat img1, img2;
int chu = 3;
int da = 21;
void hui(int, void*);
int main()
{
	img1 = imread("貓1.jpg");
	namedWindow("原圖");
	imshow("原圖", img1);
	namedWindow("膨脹");
	createTrackbar("結(jié)構(gòu)元尺寸", "膨脹", &chu, da,hui);
	hui(chu, 0);
	waitKey(0);
}
void hui(int, void*)
{
	int s = chu ;
	Mat elent = getStructuringElement(MORPH_RECT, Size(s, s));
	dilate(img1, img2, elent);
	imshow("膨脹", img2);
}

3 效果圖

以上就是C++ opencv圖像處理實(shí)現(xiàn)腐蝕和膨脹示例的詳細(xì)內(nèi)容,更多關(guān)于C++ opencv圖像腐蝕膨脹的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • opencv車(chē)道線檢測(cè)的實(shí)現(xiàn)方法

    opencv車(chē)道線檢測(cè)的實(shí)現(xiàn)方法

    這篇文章主要介紹了opencv車(chē)道線檢測(cè)的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • C++淺析內(nèi)聯(lián)函數(shù)的使用

    C++淺析內(nèi)聯(lián)函數(shù)的使用

    為了消除函數(shù)調(diào)用的時(shí)空開(kāi)銷,C++ 提供一種提高效率的方法,即在編譯時(shí)將函數(shù)調(diào)用處用函數(shù)體替換,類似于C語(yǔ)言中的宏展開(kāi)。這種在函數(shù)調(diào)用處直接嵌入函數(shù)體的函數(shù)稱為內(nèi)聯(lián)函數(shù)(Inline Function),又稱內(nèi)嵌函數(shù)或者內(nèi)置函數(shù)
    2022-05-05
  • C語(yǔ)言超詳細(xì)文件操作基礎(chǔ)上篇

    C語(yǔ)言超詳細(xì)文件操作基礎(chǔ)上篇

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言的文件操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • C語(yǔ)言中sizeof()與strlen()函數(shù)的使用入門(mén)及對(duì)比

    C語(yǔ)言中sizeof()與strlen()函數(shù)的使用入門(mén)及對(duì)比

    這篇文章主要介紹了C語(yǔ)言中sizeof()與strlen()函數(shù)的使用入門(mén)及對(duì)比,同時(shí)二者在C++中的使用情況也基本上同理,是需要的朋友可以參考下
    2015-12-12
  • C語(yǔ)言如何實(shí)現(xiàn)順序表(數(shù)據(jù)結(jié)構(gòu))

    C語(yǔ)言如何實(shí)現(xiàn)順序表(數(shù)據(jù)結(jié)構(gòu))

    這篇文章主要介紹了C語(yǔ)言如何實(shí)現(xiàn)順序表(數(shù)據(jù)結(jié)構(gòu))問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 舉例講解C語(yǔ)言程序中對(duì)二叉樹(shù)數(shù)據(jù)結(jié)構(gòu)的各種遍歷方式

    舉例講解C語(yǔ)言程序中對(duì)二叉樹(shù)數(shù)據(jù)結(jié)構(gòu)的各種遍歷方式

    這篇文章主要介紹了舉例講解C語(yǔ)言程序中對(duì)二叉樹(shù)數(shù)據(jù)結(jié)構(gòu)的各種遍歷方式,先序中序后序二叉樹(shù)遍歷幾乎成了最老生常談的數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識(shí),的朋友可以參考下
    2016-04-04
  • C++利用ImGUI繪制D3D外部菜單

    C++利用ImGUI繪制D3D外部菜單

    ImGUI 它是與平臺(tái)無(wú)關(guān)的C++輕量級(jí)跨平臺(tái)圖形界面庫(kù),沒(méi)有任何第三方依賴,可以將ImGUI的源碼直接加到項(xiàng)目中使用。本文將利用ImGUI繪制D3D外部菜單,需要的可以參考一下
    2022-09-09
  • C語(yǔ)言 指針數(shù)組詳解及示例代碼

    C語(yǔ)言 指針數(shù)組詳解及示例代碼

    本文主要介紹C語(yǔ)言 指針數(shù)組,這里提供詳細(xì)的資料和簡(jiǎn)單示例代碼以便大家學(xué)習(xí)參考,有需要學(xué)習(xí)的小伙伴可以參考下
    2016-08-08
  • C++ STL入門(mén)教程(3) deque雙向隊(duì)列使用方法

    C++ STL入門(mén)教程(3) deque雙向隊(duì)列使用方法

    這篇文章主要為大家詳細(xì)介紹了C++ STL入門(mén)教程第三篇,deque雙向隊(duì)列的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • VisualStudio 使用Visual Leak Detector檢查內(nèi)存泄漏

    VisualStudio 使用Visual Leak Detector檢查內(nèi)存泄漏

    這篇文章主要介紹了VisualStudio 使用Visual Leak Detector檢查內(nèi)存泄漏的相關(guān)資料,需要的朋友可以參考下
    2015-07-07

最新評(píng)論