在matlab中实现canny边缘检测算法

时间:2013-12-01 04:45:16

标签: algorithm matlab image-processing

我尝试在matlab中实现canny边缘检测算法。当我在构建的图像cameraman.tif中使用matlab时它工作正常但是当我使用不同的图像和命令窗口显示时它会出错:

指数超出矩阵维度。

canny_edge错误(第45行)

            sum = sum + (ID(u+i, v+j) * filter(i+3, j+3));

error

整个matlab代码托管在link 我是matlab的新手。我尝试实施大学作业算法

1 个答案:

答案 0 :(得分:1)

%figure,imshow(filter);
for u = 3 : r
    for v = 3 : c
        sum = 0;
        for i = -2 : 2
            for j = -2 : 2
                sum = sum + (ID(u+i, v+j) * filter(i+3, j+3));
            end
        end
        IDx(u,v) = sum;
    end
end