[英]MATLAB - Find local maximum and minimum of an edge map (row-wise)
首先,我要說我是MATLAB新手,這是我第一次嘗試與圖像處理有關的應用程序。
我正在構建一個MATLAB庫(將在Windows Phone應用程序中使用),該庫將自然圖像的邊緣圖作為輸入。 我需要逐行遍歷地圖。 如果遇到邊緣,則需要找到邊緣的局部最小值和局部最大值。
我需要幫助弄清楚如何做; 1)遍歷邊緣圖-行2)檢測邊緣3)找到邊緣的局部最小值和局部最大值
感謝任何幫助。 提前致謝 :)
這只是我的評論的摘要。 我嘗試回答您上面給出的3)問題。
1)將有一種很好的矢量化方式,但老實說,我不確定這將如何工作。 有效的方法是循環進行。 對於mxn矩陣,它可能看起來像這樣:
for k=1:m
for l=1:n
new_Matrix(k,n-l+1) = old_Matrix(k,l);
end
end
眾所周知,這不是解決問題的最佳方法,因為循環會對您的運行時產生負面影響,但是循環應該可以解決問題。
2)邊緣檢測:
BW1 = edge(new_Matrix,'sobel');%//Sobel
BW2 = edge(new_Matrix,'canny');%//Canny-filter
3)最小和最大值按行
Matrix_transpose = Matrix'; %//transposed matrix
row_wise_min= min(Matrix_transpose);
row_wise_max = max(Matrix_transpose);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.