大津法——邊緣檢測
做個記錄
邊緣檢測:
function E = DetectEdge(I)
%by:LiFeiteng
%Version1.0 灰度影像 2013/5/06
%Version1.1 彩色影像 2013/5/13
if size(I,3)==3
I = rgb2gray(I);
end
mask = fspecial('gaussian',[3 3],3);
I = imfilter(I,mask);
I = double(I);
fx = conv2(I,[-1 1], 'same');
fy = conv2(I,[-1;1], 'same');
grad = sqrt(fx.^2+fy.^2);
% grad = ordfilt2(grad,1,ones(3,3));
t = myOtsu(grad);
E = grad > t;
%E = grad;
end
大津法:
function T = myOtsu(E)
% 大津法
E = uint8(E);
E = E(:);
MN = size(E,1);
t = 0;
g = [];
for i=1:256
n0 = E <= t;
n1 = E > t;
N0 = sum(n0);
N1 = sum(n1);
w0 = N0/MN;
w1 = N1/MN;
mu0 = sum(E(n0))/N0; mu1 = sum(E(n1))/N1;
mu = w0*mu0 + w1*mu1;
g(1,i) = w0*(mu0-mu)^2 + w1*(mu1-mu)^2;
t = t+1;
end
[~, index] = max(g);
T = mean(index-1);
測試用例:
img = imread('lena.tif');
img = imnoise(img,'gaussian');
figure,imshow(img)
E = DetectEdge(img);
figure,imshow(E,[])
相關文章
- 影像邊緣檢測
- 影像的邊緣檢測
- 邊緣檢測演算法——Canny和LoG邊緣檢測演算法演算法
- 3.Canny邊緣檢測
- opencv學習之邊緣檢測OpenCV
- 影象特徵提取:Sobel邊緣檢測特徵
- Marr-Hildreth邊緣檢測器
- 經典影象邊緣檢測(模板法思想)——Kirsch運算元
- python+opencv邊緣檢測方法整理PythonOpenCV
- Laplacian(iOS)運算元(邊緣檢測)iOS
- opencv——自適應閾值Canny邊緣檢測OpenCV
- OPENCV例程2 :CANNY運算元邊緣檢測OpenCV
- 【OpenCV】影像的變換(三)-Canny邊緣檢測OpenCV
- 高通濾波法、微分運算元法、神經網路方法實現邊緣檢測神經網路
- 卷積神經網路1-邊緣檢測卷積神經網路
- OpenCV(iOS)的邊緣檢測和Canny運算元OpenCViOS
- Qt5&OpenCV3.2 Canny邊緣檢測+Hough變換QTOpenCV
- 詳解數字影像的濾波和邊緣檢測
- 影象邊緣檢測—sobel運算元(灰度影象,彩色影象)
- php 實現一個簡單的圖片邊緣檢測PHP
- [機器視覺]halcon應用例項 邊緣檢測視覺
- 【2017年10月最新深度學習方面的邊緣檢測論文和程式碼】【CASENet:深度類別感知語義邊緣檢測】深度學習SENet
- opencv 邊緣羽化,邊緣過渡OpenCV
- 從邊緣走向中心,邊緣計算出現三大門派和六大趨勢
- 輪廓檢測論文解讀 | 整體巢狀邊緣檢測HED | CVPR | 2015巢狀
- 邊緣計算2.0時代,“雲邊緣”與“邊緣雲”你分清了嗎?
- 秒懂邊緣雲 | 邊緣雲技術進階
- 邊緣計算?
- 【OpenCV3經典程式設計100例】(10)邊緣檢測:用Sobel()函OpenCV程式設計
- Opencv-Python學習筆記十——影像梯度、邊緣檢測 Gradient, Edge DetectionOpenCVPython筆記梯度
- 【從0到1學習邊緣容器系列1】之 邊緣計算與邊緣容器的起源
- 天翼雲邊緣函式、邊緣安全專案入選“可信邊緣計算推進計劃”函式
- 神經網路之卷積篇:詳解更多邊緣檢測內容(More edge detection)神經網路卷積
- 邊緣應用場景需求興起,FusionCube解碼智慧邊緣!
- 大規模 IoT 邊緣容器叢集管理的幾種架構-0-邊緣容器及架構簡介架構
- 雲原生與邊緣計算的碰撞——邊緣原生應用實踐
- 從中心走向邊緣——深度解析雲原生邊緣計算落地痛點
- Aruba的智慧邊緣時代