MATLAB - 查找边缘图的局部最大值和最小值(行方式)

时间:2014-05-15 06:26:37

标签: algorithm matlab max minimum edge-detection

我首先要说我是MATLAB的新手,这是我第一次尝试与图像处理相关的应用程序。

我正在构建一个MATLAB库(将在Windows Phone应用程序中使用),它将自然图像的边缘图作为输入。我需要逐行遍历地图。如果我遇到边缘,我需要找到边缘的局部最小值和局部最大值。

我需要帮助弄清楚如何; 1)遍历边缘图 - 行方式 2)检测边缘 3)找到边缘的局部最小值和局部最大值

感谢任何帮助。在此先感谢:)

1 个答案:

答案 0 :(得分:0)

这只是我评论的摘要。我试着回答你上面给出的问题。

1)将有一个很好的矢量化方式,但老实说,我不知道这将如何工作。什么有效是在循环中做到这一点。对于mxn Matrix,它可能如下所示:

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);