sdaulj 发表于 2010-10-16 12:08:29

大家好,请教一下轮廓提取的问题!

我现在用MATLAB做边界提取和填充,先把图像二值化。然后对提取的矩阵进行处理。
我想实现这样的效果:轮廓外定义为0,轮廓上定义为1,轮廓内定义为2。也可以是其他数值,主要起到区分的作用
我现在是这样做的:先用edge()命令进行的边缘提取,但是在提取的时候有的时候提取出来的边缘不连续,另外一个是在边缘内部有很多的线
对轮廓内区分时也遇到了一些困难,不知道在MATLAB中有没有相关命令可以方便的做到,请老师给一些指点!

请各位给一些建议,我刚刚开始接触图像处理,对这些东西没有个清晰的思路,请各位给一些指点!把这个大概过程能够说一下

qibbxxt 发表于 2010-10-17 19:43:09

我只知道这个命令,而且这个命令似乎不同的参数,会有不同的效果

By default, edge uses the Sobel method to detect edges but the following provides a complete list of all the edge-finding methods supported by this function:

The Sobel method finds edges using the Sobel approximation to the derivative. It returns edges at those points where the gradient of I is maximum.

The Prewitt method finds edges using the Prewitt approximation to the derivative. It returns edges at those points where the gradient of I is maximum.

The Roberts method finds edges using the Roberts approximation to the derivative. It returns edges at those points where the gradient of I is maximum.

The Laplacian of Gaussian method finds edges by looking for zero crossings after filtering I with a Laplacian of Gaussian filter.

The zero-cross method finds edges by looking for zero crossings after filtering I with a filter you specify.

The Canny method finds edges by looking for local maxima of the gradient of I. The gradient is calculated using the derivative of a Gaussian filter. The method uses two thresholds, to detect strong and weak edges, and includes the weak edges in the output only if they are connected to strong edges. This method is therefore less likely than the others to be fooled by noise, and more likely to detect true weak edges.

The parameters you can supply differ depending on the method you specify. If you do not specify a method, edge uses the Sobel method.另外,可以看看相关的图像处理的matlab书籍
页: [1]
查看完整版本: 大家好,请教一下轮廓提取的问题!