sobel運算元是一種常用的邊緣檢測運算元,是一階的梯度演算法。對雜訊具有平滑作用,提供較為精確的邊緣方向資訊,邊緣定位精度不夠高。當對精度要求不是很高時,是一種較為常用的邊緣檢測方法。sobel卷積因子為:
其中,gx是橫向的運算元,gy是縱向的運算元。
原影象記為f,則
gx = gx*f
gy = gy*f
gx =-1*f(x-1, y-1) + 0*f(x,y-1) + 1*f(x+1,y-1)+(-2)*f(x-1,y) + 0*f(x,y)+2*f(x+1,y)+(-1)*f(x-1,y+1) + 0*f(x,y+1) + 1*f(x+1,y+1)
gy =1* f(x-1, y-1) + 2*f(x,y-1)+ 1*f(x+1,y-1)+0*f(x-1,y) 0*f(x,y) + 0*f(x+1,y)+(-1)*f(x-1,y+1) + (-2)*f(x,y+1) + (-1)*f(x+1, y+1)
其中f(a,b), 表示影象(a,b)點的灰度值
gx,gy代表利用模板對原影象卷積的結果。
對於原影象中的每乙個畫素,在3*3的模板中進行上述的卷積,得到gx、gy,則最後該畫素的灰度值近似為:
g = |gx|+|gy|
如果g大於某乙個閾值,則認定該點為乙個邊緣點。
上述的處理可以同時進行兩個方向的處理,當需要突出影象某乙個方向的邊緣資訊時,也可以只進行其中乙個方向的處理
其實在邊緣檢測中還會用到很多運算元,如普利維特運算元(prewitt operate);羅伯茨交叉邊緣檢測(roberts cross operator);拉普拉斯運算元等等
繪製粗虛線
以前很少畫虛線,因此不太關心繪製粗虛線該怎麼辦。最近需要用到這個功能,因此學習了一下,與大家共享。cpen類有兩個建構函式,我們經常用第乙個,而忽略了第二個。其實很多問到畫粗線時希望改變線頭的預設顯示方式,比如希望是圓弧頭而不是預設的方形頭等。都可以用這個建構函式定義的cpen物件來實現。這裡我主要...
組網粗遊記(一)
今天客串了一把網管,鼓弄了差不多有一天,好歹最後弄出了點成果可以讓我稍感欣慰。簡單來說,本次的任務就是在公司內網的基礎上拓撲出乙個三層網路結構,用來模仿現場環境,以便得到更準確的系統測試結果。上圖 上裝置 操作描述 step 1 開啟securecrt,新建會話,協議採用 serial 即串列埠 s...
VPD技術粗解
vpd技術,dba policies這張表中儲存了啟用vpd技術的表 select from dba policies where object name upper pa projects 給某張表啟用vpd 1.create data create table t x number insert...