簡體   English   中英

MATLAB-查找邊緣圖的局部最大值和最小值(逐行)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM