【OpenCV3經典程式設計100例】(10)邊緣檢測:用Sobel()函

lcc發表於2021-09-09

前10話是opencv裡面常用函式的介紹,完成了《數字影像處理》/第三章/灰度變換和空間濾波的c++程式碼實現!

第10示例,首先,用Sobel()函式求取灰度圖的梯度運算元。

然後用一階微分運算元——梯度運算元來進行灰度影像的邊緣檢測,效果比拉普拉斯運算元好很多。

	//Sobel函式,可計算一階、二階、三階或混合影像差分
	void Sobel(InputArray src,//輸入影像 
		OutputArray dst,//輸出影像 
		int ddepth,//輸出影像的深度
		int dx,//x方向上的差分階數 
		int dy,//y方向上的差分階數 
		int ksize = 3,//預設為3,Sobel核的大小,必須取1、3、5、7
		double scale = 1,//預設為1,計算導數值時可選的縮放因子 
		double delta = 0,//預設
		int borderType = BORDER_DEFAULT);//預設
	//常見的用法:
	//取dx=1, dy=0, ksize=3來計算影像X方向的導數
	//取dx=0, dy=1, ksize=3來計算影像Y方向的導數



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2331/viewspace-2801369/,如需轉載,請註明出處,否則將追究法律責任。

相關文章