matlab中edge的用法

如题所述

BW = edge(I)
采用灰度或一个二值化图像I作为它的输入,并返回一个与I相同大小的二值化图像BW,在函数检测到边缘的地方为1,其他地方为0。

BW = edge(I,'sobel') 自动选择阈值用Sobel算子进行边缘检测。

BW = edge(I,'sobel',thresh) 根据所指定的敏感度阈值thresh,用Sobel算子进行边缘检测,它忽略了所有小于阈值的边缘。当thresh为空时,自动选择阈值。

BW = edge(I,'sobel',thresh,direction) 根据所指定的敏感度阈值thresh,在所指定的方向direction上,用Sobel 算子进行边缘检测。Direction可取的字符串值为horizontal(水平方向)、vertical(垂直方向)或both(两个方向)。

[BW,thresh] = edge(I,'sobel',...) 返回阈值

BW = edge(I,'prewitt') 自动选择阈值用prewitt算子进行边缘检测。

BW = edge(I,'prewitt',thresh) 根据所指定的敏感度阈值thresh,用prewitt算子进行边缘检测,它忽略了所有小于阈值的边缘。当thresh为空时,自动选择阈值。

BW = edge(I,'prewitt',thresh,direction) 根据所指定的敏感度阈值thresh,在所指定的方向direction上,用prewitt算子进行边缘检测。Direction可取的字符串值为horizontal(水平方向)、vertical(垂直方向)或both(两个方向)默认方向为both。

[BW,thresh] = edge(I,'prewitt',...) 返回阈值

BW = edge(I,'roberts') 自动选择阈值用roberts算子进行边缘检测。

BW = edge(I,'roberts',thresh) 根据所指定的敏感度阈值thresh,用Roberts算子进行边缘检测,它忽略了所有小于阈值的边缘。当thresh为空时,自动选择阈值。 Matlab中文论坛

[BW,thresh] = edge(I,'roberts',...) 返回阈值

BW = edge(I,'log') 自动选择阈值用LOG算子进行边缘检测。

……很多啊,你还是help edge一下,里面有很多举例。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-06-02
edge函数不能接收二进制图片,若是图片格式为.tiff就直接可以用,
二进制图像可以使用bwperim,但是是寻找图像的周边的.
如果你一定要使用edge函数,可以使用double强制把你的二进制图像转换成double型的.
例如:
Ijpg = imread('1.jpg'); %读取图像
BW1=im2bw(Ijpg,0.95);
BW2=double(BW1);
BW3=edge(BW2,'sobel');
第2个回答  2019-10-03
BW
=
edge(I)
采用灰度或一个二值化图像I作为它的输入,并返回一个与I相同大小的二值化图像BW,在函数检测到边缘的地方为1,其他地方为0。
BW
=
edge(I,'sobel')
自动选择阈值用Sobel算子进行边缘检测。
BW
=
edge(I,'sobel',thresh)
根据所指定的敏感度阈值thresh,用Sobel算子进行边缘检测,它忽略了所有小于阈值的边缘。当thresh为空时,自动选择阈值。
BW
=
edge(I,'sobel',thresh,direction)
根据所指定的敏感度阈值thresh,在所指定的方向direction上,用Sobel
算子进行边缘检测。Direction可取的字符串值为horizontal(水平方向)、vertical(垂直方向)或both(两个方向)。
[BW,thresh]
=
edge(I,'sobel',...)
返回阈值
BW
=
edge(I,'prewitt')
自动选择阈值用prewitt算子进行边缘检测。
BW
=
edge(I,'prewitt',thresh)
根据所指定的敏感度阈值thresh,用prewitt算子进行边缘检测,它忽略了所有小于阈值的边缘。当thresh为空时,自动选择阈值。
BW
=
edge(I,'prewitt',thresh,direction)
根据所指定的敏感度阈值thresh,在所指定的方向direction上,用prewitt算子进行边缘检测。Direction可取的字符串值为horizontal(水平方向)、vertical(垂直方向)或both(两个方向)默认方向为both。
[BW,thresh]
=
edge(I,'prewitt',...)
返回阈值
BW
=
edge(I,'roberts')
自动选择阈值用roberts算子进行边缘检测。
BW
=
edge(I,'roberts',thresh)
根据所指定的敏感度阈值thresh,用Roberts算子进行边缘检测,它忽略了所有小于阈值的边缘。当thresh为空时,自动选择阈值。
Matlab中文论坛
[BW,thresh]
=
edge(I,'roberts',...)
返回阈值
BW
=
edge(I,'log')
自动选择阈值用LOG算子进行边缘检测。
……很多啊,你还是help
edge一下,里面有很多举例。
第3个回答  2012-07-15
你可以参考help文档,有例子参考!
相似回答