国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C++OpenCV(7):圖像形態(tài)學基礎操作

這篇具有很好參考價值的文章主要介紹了C++OpenCV(7):圖像形態(tài)學基礎操作。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?? 文章首發(fā)于我的個人博客:歡迎大佬們來逛逛
?? OpenCV項目地址及源代碼:點擊這里


膨脹與腐蝕

膨脹與腐蝕是數(shù)學形態(tài)學在圖像處理中最基礎的操作

膨脹操作是取每個位置領域內最大值,所以膨脹后輸出圖像的總體亮度的平均值比起原圖會有所升高,圖像中比較亮的區(qū)域的面積會變大,而較暗物體的尺寸會減小甚至消失。(增加高亮部分)

void dilate( InputArray src, OutputArray dst, InputArray kernel,Point anchor = Point(-1,-1), int iterations = 1,int borderType = BORDER_CONSTANT,const Scalar& borderValue = morphologyDefaultBorderValue() );
/*******************************************************************
*			src: 					輸入圖像
*			dst:					輸出圖像
*			kernel:					膨脹操作的核
*					參數(shù)為0:中心3*3的核
*			anchor:					錨點
*					(-1,-1):表示位于中心
*			iterations:				 迭代的次數(shù)
*			borderType:				 圖像外部像素的某種邊界模式
*			borderValue:			 邊界值,一般不管
*********************************************************************/

腐蝕是相反的操作,所以腐蝕就是求局部最小值的操作。(減少高亮部分)

void erode( InputArray src, OutputArray dst, InputArray kernel,Point anchor = Point(-1,-1), int iterations = 1,int borderType = BORDER_CONSTANT,const Scalar& 	borderValue = morphologyDefaultBorderValue() );
/*******************************************************************
*			src: 					輸入圖像
*			dst:					輸出圖像
*			kernel:					 腐蝕操作的核
*					參數(shù)為0:中心3*3的核
*			anchor:					錨點
*					(-1,-1):表示位于中心
*			iterations:				 迭代的次數(shù)
*			borderType:				 斷圖像外部像素的某種邊界模式
*			borderValue:			 邊界值,一般不管
*********************************************************************/

getStructuringElement函數(shù)可用于構造一個特定大小和形狀的結構元素,用于圖像形態(tài)學處理

Mat getStructuringElement(int shape, Size ksize, Point anchor = Point(-1,-1));
/*******************************************************************
*			shape: 					形狀類型
*			ksize:					大小
*			anchor:					錨點
*					(-1,-1):表示位于中心
*********************************************************************/
//shape取值
enum MorphShapes {
    MORPH_RECT    = 0, //矩形
    MORPH_CROSS   = 1, //十字交叉
    MORPH_ELLIPSE = 2  //橢圓                   
};
void testDilate() {
		cv::Mat kernel = cv::getStructuringElement(cv::MorphShapes::MORPH_RECT, cv::Size(5, 5));
		cv::dilate(mt, saves["膨脹"], kernel);
	}
	void testErode() {
		cv::Mat kernel = cv::getStructuringElement(cv::MorphShapes::MORPH_RECT, cv::Size(5, 5));
		cv::erode(mt, saves["腐蝕"], kernel);
	}

C++OpenCV(7):圖像形態(tài)學基礎操作,OpenCV,c++,opencv,開發(fā)語言

簡單總結:

  • 膨脹:增加高亮,減少陰暗
  • 腐蝕:增加陰暗,減少高亮

形態(tài)學基礎

處理類型 操作 作用
開運算 先腐蝕再膨脹 可在纖細點出分離物體。有助于消除噪音
閉運算 先膨脹后腐蝕 用于排除前景對象中的小孔或對象上的小黑點
形態(tài)學梯度 膨脹圖與腐蝕圖之差 用于保留目標物體的邊緣輪廓
頂帽 原圖與開運算圖之差 分離比鄰近點亮的斑塊,用于突出原圖像中比周圍亮的區(qū)域
黑帽 閉運算圖與原圖差 分離比鄰近點暗的斑塊,突出原圖像中比周圍暗的區(qū)域

函數(shù)API:morphologyEx

void morphologyEx( InputArray src, OutputArray dst,int op, InputArray kernel,Point anchor = Point(-1,-1), int iterations = 1,int borderType = BORDER_CONSTANT,const Scalar& borderValue = morphologyDefaultBorderValue() );
/*******************************************************************
*			src: 					輸入圖像
*			dst:					輸出圖像
*			op:						 操作類型
*			kernel:					 操作的核
*					參數(shù)為0:中心3*3的核
*			anchor:					錨點
*					(-1,-1):表示位于中心
*			iterations:				 迭代的次數(shù)
*			borderType:				 圖像外部像素的某種邊界模式
*			borderValue:			 邊界值,一般不管
*********************************************************************/
//操作類型
enum MorphTypes{
    MORPH_ERODE    = 0, //腐蝕
    MORPH_DILATE   = 1, //膨脹
    MORPH_OPEN     = 2, //開操作
    MORPH_CLOSE    = 3, //閉操作
    MORPH_GRADIENT = 4, //梯度操作
    MORPH_TOPHAT   = 5, //頂帽操作
    MORPH_BLACKHAT = 6, //黑帽操作
    MORPH_HITMISS  = 7  //隨機操作,只支持CV_8UC1模式
}
void testMorphology() {
		cv::Mat kernel = cv::getStructuringElement(cv::MorphShapes::MORPH_RECT, cv::Size(5, 5));
		cv::morphologyEx(mt, saves["膨脹"],cv::MorphTypes::MORPH_DILATE, kernel);
		cv::morphologyEx(mt, saves["腐蝕"], cv::MorphTypes::MORPH_ERODE, kernel);
		cv::morphologyEx(mt, saves["開運算"], cv::MorphTypes::MORPH_OPEN, kernel);
		cv::morphologyEx(mt, saves["閉運算"], cv::MorphTypes::MORPH_CLOSE, kernel);
		cv::morphologyEx(mt, saves["梯度"], cv::MorphTypes::MORPH_GRADIENT, kernel);
		cv::morphologyEx(mt, saves["頂帽"], cv::MorphTypes::MORPH_TOPHAT, kernel);
		cv::morphologyEx(mt, saves["黑帽"], cv::MorphTypes::MORPH_BLACKHAT, kernel);
	}

C++OpenCV(7):圖像形態(tài)學基礎操作,OpenCV,c++,opencv,開發(fā)語言


參考:

OpenCV圖像腐蝕與膨脹(13)_qq63e46f74301f3的技術博客_51CTO博客文章來源地址http://www.zghlxwxcb.cn/news/detail-603007.html

到了這里,關于C++OpenCV(7):圖像形態(tài)學基礎操作的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學操作

    OpenCV基本圖像處理操作(一)——圖像基本操作與形態(tài)學操作

    圖像顯示 轉hsv圖像 顏色表示為三個組成部分:色調(Hue)、飽和度(Saturation)和亮度(Value)。常用于圖像處理中,因為它允許調整顏色的感知特性,如色彩和亮度,這些在RGB顏色模型中不那么直觀。 HSV模型特別適用于任務如圖像分割和對象追蹤,因為它可以更好地處理光

    2024年04月22日
    瀏覽(167)
  • OpenCV圖像處理學習十,圖像的形態(tài)學操作——膨脹腐蝕

    OpenCV圖像處理學習十,圖像的形態(tài)學操作——膨脹腐蝕

    一.形態(tài)學操作概念 圖像形態(tài)學操作是指基于形狀的一系列圖像處理操作的合集,主要是基于集合論基礎上的形態(tài)學數(shù)學對圖像進行處理。 形態(tài)學有四個基本操作:腐蝕、膨脹、開操作、閉操作,膨脹與腐蝕是圖像處理中最常用的形態(tài)學操作手段。 二.形態(tài)學操作-膨脹 跟卷積

    2024年02月05日
    瀏覽(24)
  • 圖像形態(tài)學-閾值的概念、功能及操作(threshold()函數(shù)))【C++的OpenCV 第九課-OpenCV圖像常用操作(六)】

    圖像形態(tài)學-閾值的概念、功能及操作(threshold()函數(shù)))【C++的OpenCV 第九課-OpenCV圖像常用操作(六)】

    首先,顧名思義,“ 閾 ”就是范圍或者 限制 ,所以,“閾值”就是 某個限制的值 (該值具有一定的數(shù)學含義,即“ 臨界值 ”,例如車輛限高桿的高度就是一種閾值,不可超越;亦或者1.1米以下兒童不收費,超過1.1就要收費。) 其次,圖形學中的閾值,往往指某個你想要

    2024年02月03日
    瀏覽(22)
  • 使用opencv c++完成圖像中水果分割(分水嶺、形態(tài)學操作、通道處理)單獨標記每個水果

    使用opencv c++完成圖像中水果分割(分水嶺、形態(tài)學操作、通道處理)單獨標記每個水果

    2023.4.16日更新 1. 利用一階矩增加了草莓等水果的質心繪制。 2. 繪制出了生長方向。 原為本人機器人視覺作業(yè)。參考文章http://t.csdn.cn/eQ0qp(目測是上一屆的學長) 要求:在網(wǎng)絡上尋找水果重疊在一起的圖片、經(jīng)過一系列圖像處理,完成每個水果的分割,并單獨標記出來。 導

    2024年02月04日
    瀏覽(56)
  • OpenCv之圖像形態(tài)學

    OpenCv之圖像形態(tài)學

    目錄 一、形態(tài)學 ?二、圖像全局二值化 ?三、自適應閾值二值化 四、腐蝕操作 五、獲取形態(tài)學卷積核 六、膨脹操作 七、開運算 八、閉運算 定義: 指一系列處理圖像形狀特征的圖像處理技術 形態(tài)學的基本思想是利用一種特殊的結構元(本質上就是卷積核)來測量或提取輸入圖

    2024年02月16日
    瀏覽(13)
  • OpenCv之圖像形態(tài)學(二)

    OpenCv之圖像形態(tài)學(二)

    目錄 一、形態(tài)學梯度 二、頂帽操作 三、黑帽操作 梯度=原圖 - 腐蝕 腐蝕之后原圖邊緣變小,原圖 - 腐蝕 就可以得到腐蝕掉的部分,即邊緣 案例代碼如下: 運行結果如下: 頂帽 = 原圖 - 開運算 開運算的效果是去除圖形外的噪點,原圖 - 開運算就得到了去掉的噪點 案例代碼如

    2024年02月16日
    瀏覽(32)
  • 圖像的形態(tài)學開操作(開運算)和閉操作(閉運算)的概念和作用,并用OpenCV的函數(shù)morphologyEx()實現(xiàn)對圖像的開閉操作

    圖像的形態(tài)學開操作(開運算)和閉操作(閉運算)的概念和作用,并用OpenCV的函數(shù)morphologyEx()實現(xiàn)對圖像的開閉操作

    大家看這篇博文前可以先看一看下面這篇博文,下面這篇博文是這篇博文的基礎: 詳解圖像形態(tài)學操作之圖形的腐蝕和膨脹的概念和運算過程,并利用OpenCV的函數(shù)erode()和函數(shù)dilate()對圖像進行腐蝕和膨脹操作 圖像形態(tài)學腐蝕可以將細小的噪聲區(qū)域去除,但是會將圖像主要區(qū)域

    2024年02月06日
    瀏覽(17)
  • Android OpenCV(三十一):圖像形態(tài)學

    Android OpenCV(三十一):圖像形態(tài)學

    參數(shù)一:src,輸入的待形態(tài)學操作圖像,圖像的通道數(shù)可以是任意的,但是圖像的數(shù)據(jù)類型必須是 CV_8U , CV_16U , CV_16S , CV_32F 或 CV_64F 參數(shù)二:dst,形態(tài)學操作后的輸出圖像,與輸入圖像src具有相同的尺寸和數(shù)據(jù)類型 參數(shù)三:op,形態(tài)學操作類型的標志 標志位 值 作用 MO

    2024年04月10日
    瀏覽(25)
  • OpenCV之形態(tài)學操作

    OpenCV之形態(tài)學操作

    形態(tài)學操作包含以下操作: 腐蝕 (Erosion) 膨脹 (Dilation) 開運算 (Opening) 閉運算 (Closing) 形態(tài)梯度 (Morphological Gradient) 頂帽 (Top Hat)黑帽(Black Hat) 其中腐蝕和膨脹操作是最基本的操作,其他操作由這兩個操作變換而來。 ????????用一個結構元素掃描圖像中每一個像素,結構元素

    2024年02月09日
    瀏覽(25)
  • OpenCV(三十一):形態(tài)學操作

    OpenCV(三十一):形態(tài)學操作

    ??????1.形態(tài)學操作 ? ? ? ?OpenCV 提供了豐富的函數(shù)來進行形態(tài)學操作,包括腐蝕、膨脹、開運算、閉運算等。下面介紹一些常用的 OpenCV 形態(tài)學操作函數(shù): 腐蝕操作(Erosion): erode(src, dst, kernel, anchor, iterations, borderType, borderValue) 該函數(shù)對輸入圖像中的前景區(qū)域進行

    2024年02月09日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包