下载此文档

关于MATLAB边缘检测sobel算子.docx


文档分类:高等教育 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
关于 MATLAB 边缘检测 sobel 算子一、sobel 介绍索贝尔算子  是图像处理中的算子之一,主要用作边缘检测。在技术上,它是一离散性差分算子,用来运算图像亮度函数的梯度之近似值。在图像的任何一点使用此算子,将会产生对应的梯度矢量或是其法矢量。该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以 代表原始图像, 及 分别代表经横向及纵向边缘检测的图像,其公式如下:图像的每一个像素的横向及纵向梯度近似值可用以下的公式结合,来计算梯度的大小。然后可用以下公式计算梯度方向。在以上例子中,如果以上的角度  等于零,即代表图像该处拥有纵向边缘,左方较右方暗。2、程序例1clear all;close all;f=imread('');u=rgb2gray(f);F=double(f);U=double(u);[H,W]=size(u);uSobel=u;% ms=0;% ns=0;for i=2:H-1for j=2:W-1Gx=(U(i+1,j-1)+2*U(i+1,j)+F(i+1,j+1))-(U(i-1,j-1)+2*U(i-1,j)+F(i-1,j+1));Gy=(U(i-1,j+1)+2*U(i,j+1)+F(i+1,j+1))-(U(i-1,j-1)+2*U(i,j-1)+F(i+1,j-1));uSobel(i,j)=sqrt(Gx^2+Gy^2);% ms=ms+uSobel(i,j);% ns=ns+(uSobel(i,j)-ms)^2;endend% ms=ms/(H*W);% ns=ns/(H*W);subplot(1,2,1);imshow(f);title('原图');subplot(1,2,2);imshow(im2uint8(uSobel));title('Sobel 处理后');% S=[ms ns];程序运行结果:例2hg=zeros(3,3); %设定高斯平滑滤波模板的大小为3*3delta=;for x=1:1:3for y=1:1:3u=x-2;v=y-2;hg(x,y)=exp(-(u^2+v^2)/(2*pi*delta^2));endendh=hg/sum(hg(:));g = imread(' ');f=rgb2gray(im2double(g));subplot(2,2,1),imshow(f)title('原始图像');[m,n]=size(f);ftemp=zeros(m,n);rowhigh=m-1;colhigh=n-1;%%%高斯滤波%%%for x=2:1:rowhigh-1for y=2:1:colhigh-1mod=[f(x-1,y-1) f(x-1,y) f(x-1,y+1); f(x,y-1) f(x,y) f(x,y+1);f(x+1,y-1) f(x+1,y) f(x+1,y+1)];A=h.*mod;ftemp(x,y)=sum(A(:));endendf=ftempsubplot(2,2,2),imshow(f)title('高斯滤波器后的图像');%%%%3*3的 soble 算子%%%%%%%%sx=[-1 -2 -1;0 0 0;1 2 1];sy=[-1 0 

关于MATLAB边缘检测sobel算子 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人buhuixin1314
  • 文件大小248 KB
  • 时间2019-09-15