sobel(iOS)算子(邊緣檢測)

最全OpenCV教程及圖像處理它碎、目標(biāo)跟蹤券敌、識別案例

基本概念

sobel算子是一個主要用于邊緣檢測的離散微分算子。他結(jié)合了高斯平滑和微分求導(dǎo)没龙,用來計算圖像灰度函數(shù)的近似梯度铺厨,在圖像的任何一點使用此算子,都會產(chǎn)生對應(yīng)的梯度矢量或者是其他矢量硬纤。

sobel算子的計算過程

sobel算子函數(shù):sobel()函數(shù)

void Sobel( InputArray src, // 輸入圖像解滓。Mat類即可

? ? ? ? ? ? ? ? ? ? OutputArray dst,// 目標(biāo)圖像,函數(shù)輸出參數(shù)筝家,需要和源圖片有一樣的尺寸和類型

? ? ? ? ? ? ? ? ? ? int ddepth,// 輸出圖像的深度洼裤,比如src.depth(),和dddepth的組合

? ? ? ? ? ? ? ? ? ? int dx, 、// x方向的差分階數(shù)

? ? ? ? ? ? ? ? ? ? int dy, // y方向的差分階數(shù)

? ? ? ? ? ? ? ? ? ? int ksize = 3,// 有默認值3溪王,表示sobel核的大小腮鞍,必須取1,3莹菱,5移国,7

? ? ? ? ? ? ? ? ? ? double scale = 1,// 計算導(dǎo)數(shù)值可選的縮放因子,默認值是1道伟,表示默認情況下是沒有應(yīng)用縮放的

? ? ? ? ? ? ? ? ? ? double delta = 0,// 表示在結(jié)果存入目標(biāo)圖(第二個參數(shù)dst)之前可選的值belda迹缀,有默認值為0

? ? ? ? ? ? ? ? ? ? int borderType = BORDER_DEFAULT ); ?//邊界模式

參數(shù)詳解

代碼實現(xiàn)

NSString *image = @"try.png";

UIImage *image1 = [UIImage imageNamed:image];

Mat im;

UIImageToMat(image1, im);

if (im.empty()) {

return;

}

// 創(chuàng)建X,Y方向梯度圖像的變量

Mat grad_x,grad_y;

// 梯度的絕對值

Mat abs_grad_x,abs_grad_y;

// 轉(zhuǎn)換為灰度圖像

cvtColor(im, src, COLOR_RGBA2GRAY);

// 求x方向的梯度

Sobel(src, grad_x, CV_16S, 1, 0);

convertScaleAbs(grad_x, abs_grad_x);

// 求y方向的梯度

Sobel(src, grad_y, CV_16S, 0, 1);

convertScaleAbs(grad_y, abs_grad_y);

// 合并梯度

addWeighted(abs_grad_x, 0.5, abs_grad_y, 0.5, 0, dst);

self.secondImageView.image = MatToUIImage(dst);

其中函數(shù)convertScaleAbs() 蜜徽,使用線性變換轉(zhuǎn)換輸入數(shù)組元素成8位無符號整數(shù)

展示效果:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末祝懂,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子拘鞋,更是在濱河造成了極大的恐慌砚蓬,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,294評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件盆色,死亡現(xiàn)場離奇詭異灰蛙,居然都是意外死亡,警方通過查閱死者的電腦和手機隔躲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,493評論 3 385
  • 文/潘曉璐 我一進店門缕允,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蹭越,你說我怎么就攤上這事障本。” “怎么了响鹃?”我有些...
    開封第一講書人閱讀 157,790評論 0 348
  • 文/不壞的土叔 我叫張陵驾霜,是天一觀的道長。 經(jīng)常有香客問我买置,道長粪糙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,595評論 1 284
  • 正文 為了忘掉前任忿项,我火速辦了婚禮蓉冈,結(jié)果婚禮上城舞,老公的妹妹穿的比我還像新娘。我一直安慰自己寞酿,他們只是感情好家夺,可當(dāng)我...
    茶點故事閱讀 65,718評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著伐弹,像睡著了一般拉馋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上惨好,一...
    開封第一講書人閱讀 49,906評論 1 290
  • 那天煌茴,我揣著相機與錄音,去河邊找鬼日川。 笑死蔓腐,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的龄句。 我是一名探鬼主播合住,決...
    沈念sama閱讀 39,053評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼撒璧!你這毒婦竟也來了透葛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,797評論 0 268
  • 序言:老撾萬榮一對情侶失蹤卿樱,失蹤者是張志新(化名)和其女友劉穎僚害,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體繁调,經(jīng)...
    沈念sama閱讀 44,250評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡萨蚕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,570評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蹄胰。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片岳遥。...
    茶點故事閱讀 38,711評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖裕寨,靈堂內(nèi)的尸體忽然破棺而出浩蓉,到底是詐尸還是另有隱情,我是刑警寧澤宾袜,帶...
    沈念sama閱讀 34,388評論 4 332
  • 正文 年R本政府宣布捻艳,位于F島的核電站,受9級特大地震影響庆猫,放射性物質(zhì)發(fā)生泄漏认轨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,018評論 3 316
  • 文/蒙蒙 一月培、第九天 我趴在偏房一處隱蔽的房頂上張望嘁字。 院中可真熱鬧恩急,春花似錦、人聲如沸纪蜒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,796評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽霍掺。三九已至匾荆,卻和暖如春拌蜘,著一層夾襖步出監(jiān)牢的瞬間杆烁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,023評論 1 266
  • 我被黑心中介騙來泰國打工简卧, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留兔魂,地道東北人。 一個月前我還...
    沈念sama閱讀 46,461評論 2 360
  • 正文 我出身青樓举娩,卻偏偏與公主長得像析校,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子铜涉,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,595評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 不同圖像灰度不同智玻,邊界處一般會有明顯的邊緣,利用此特征可以分割圖像芙代。需要說明的是:邊緣和物體間的邊界并不等同吊奢,邊緣...
    大川無敵閱讀 13,836評論 0 29
  • 我們一般直接稱scharr為濾波器,而不是算子 計算圖像差分:Scharr()函數(shù) void Scharr( In...
    傻傻小蘿卜閱讀 1,654評論 0 0
  • 基本概念 Laplacian算子是n維歐幾里德空間的一個二階微分算子纹烹,定義為梯度grad的散度div页滚,因此如果f是...
    傻傻小蘿卜閱讀 1,353評論 0 1
  • 前言opencv在圖像處理中使用廣泛,許多常見的應(yīng)用場景例如人臉識別铺呵,車牌識別等都是基于opencv開發(fā)的裹驰。本文是...
    肖丹晨閱讀 4,980評論 0 4
  • 邊緣檢測的一般步驟 (1)濾波 邊緣檢測的算法主要是基于圖像強度的一階和二階導(dǎo)數(shù),但導(dǎo)數(shù)通常對噪聲很是敏感片挂,因此必...
    傻傻小蘿卜閱讀 2,292評論 0 2