基于Sobel算子图像边缘检测的MATLAB实现
MATLAB 的 edge 函数只能处理灰度图或者黑白图(或者说 imread 之后得到的矩阵是个二维矩阵),而对 RGB 的真彩图是没法处理的,当然,也可以通过把 RGB 图先转化成灰度图再进行边缘检测。edge 函数的输入参数就是 imread 之后的二维矩阵,和指示的字符串和限定方法的一些数值参数。edge 函数支持六种经典边缘检测方法,分别是 Sobel Method
、Prewitt Method
、Roberts Method
、Laplacian of Gaussian Method
、Zero-cross Method
和 Canny Method
。至于具体算法,我就不清楚了,这里只给出 matlab 的实现方法:
源程序如下
f=imread('1.jpg'); |
运行的结果图:
The Why·Liam·Blog by WhyLiam is licensed under a Creative Commons BY-NC-ND 4.0 International License.
由WhyLiam创作并维护的Why·Liam·Blog采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于Why·Liam·Blog (https://blog.naaln.com),版权所有,侵权必究。