兩種laplacian模板(附件中)
gauss-lanlancian運算元(附件中)
laplacian 運算元是二階導數邊緣運算元,考察的是3*3鄰域,上圖是兩種比較常用的模板,演算法簡述如下:
,遍歷影象(除去邊緣,防止越界),對每個畫素做laplancian模板卷積運算,注意是只做其中的一種模板運算,並不是兩個。
,複製到目標影象,結束。
gauss-laplacian考察的是5*5的鄰域,檢測的同時,引入了濾波,是雜訊得以平滑,上圖是一種常用的運算元,演算法簡述。
,遍歷影象(除去邊緣,防止越界),對每個畫素做gauss -laplancian模板卷積運算。
,複製到目標影象,結束。
canny邊緣檢測是非常重要的一種邊緣檢測演算法,主要過程如下:
,用高斯濾波器平滑影象。
已經學習過,根據高斯函式,構造高斯模板,進行濾波,不在贅述。
,用一階偏導的有限差分來計算梯度的幅值和方向;
其中,phi 表示是幅值,theta 是方向,用影象副本進行儲存。
,對梯度幅值進行非極大值抑制;
為確定邊緣,必須保留區域性梯度最大的點,而抑制非極大值(nms)。
解決辦法是,利用梯度的方向:
已經求出theta 的值,梯度的方向用於非極大值的抑制,將梯度角離散化到0,1,2,3中的乙個(通過線性對映),採用近似的演算法。知道了梯度角,也就知道了梯度線方向。
鄰域的中心畫素m與沿著梯度線的兩個畫素相比。如果m的梯度值不比沿梯度線的兩個相鄰畫素梯度值大,則令m=0。
,用雙閾值演算法檢測和連線邊緣。
減少假邊緣段數量的典型方法是對n[i,j]使用乙個閾值。將低於閾值的所有值賦零值。但問題是如何選取閾值?
解決方法:
雙閾值演算法。雙閾值演算法對非極大值抑制圖象作用兩個閾值τ1和τ2,且2τ1≈τ2,從而可以得到兩個閾值邊緣圖象n1[i,j]和n2[i,j]。由於n2[i,j]使用高閾值得到,因而含有很少的假邊緣,但有間斷(不閉合)。雙閾值法要在n2[i,j]中把邊緣連線成輪廓,當到達輪廓的端點時,該演算法就在n1[i,j]的8鄰點位置尋找可以連線到輪廓上的邊緣,這樣,演算法不斷地在n1[i,j]中收集邊緣,直到將n2[i,j]連線起來為止。
二階線性微分器的實現
二階線性微分器的實現 1.經典微分器 y v t v t t t在間隔時間 t很小時,對雜訊有放大作用,實際無法應用到任務中。2.二階線性微分器 3.c程式驗證 include include include math.h include stdlib.h define ts double 0.01...
一階微分邊緣檢測運算元
l運算元的原理 roberts運算元 sobel 運算元和prewitt 運算元是三種常用微分邊緣檢測運算元 5 這三個運算元都以一階導數為基礎,先通過合適的微分運算元計算出影象的梯度矩陣,再對梯度矩陣進行二值化從而得到影象的邊緣。這三種演算法的原理如下,其中i為影象矩陣,g i,j 為最終的梯度矩...
特殊的二階魔方
時限 1000ms 記憶體限制 10000k 總時限 3000ms 描述魔方大家應該都玩過。現在有乙個特殊的二階魔方,它只有一面是白色,其餘五個面全是黑色。玩這個魔方當然也有特殊的規則,玩家只能通過六種方式去改變它,底層向左轉一格 稱為dl 底層向右轉一格 稱為dr 右側向上轉一格 稱為ru 右側向...