我首先要说我是MATLAB的新手,这是我第一次尝试与图像处理相关的应用程序。
我正在构建一个MATLAB库(将在Windows Phone应用程序中使用),它将自然图像的边缘图作为输入。我需要逐行遍历地图。如果我遇到边缘,我需要找到边缘的局部最小值和局部最大值。
我需要帮助弄清楚如何; 1)遍历边缘图 - 行方式 2)检测边缘 3)找到边缘的局部最小值和局部最大值
感谢任何帮助。在此先感谢:)
答案 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);