利用sobel算法实现图像边缘的轮廓提取。

  • 虫虫123456
    了解作者
  • matlab
    开发工具
  • 1.3KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 5 积分
    下载积分
  • 0
    下载次数
  • 2022-06-27 15:23
    上传日期
利用sobel算法实现图像边缘的轮廓提取。
17218006sobel.zip
  • www.imdn.cn.html
    66B
  • www.imdn.cn.txt
    366B
  • sobel.m
    997B
内容介绍
clear clc T=180; %设定阈值 X=imread('f:\aa.jpg'); %读入要处理的图像 X=double(X(:,:,1)); %把图变为十进制数 S=size(X); %图像的大小(长和宽) g=zeros(S); %定义一个大小为S的空矩阵 figure(1) image(X) colormap(gray(256)) title('无噪图像,fontsize,18,fontweight,bold,fontname,隶书'); for i=2:S(1)-1 for j=2:S(2)-1 Dx=(X(i+1,j-1)-X(i-1,j-1)+2*(X(i+1,j)-X(i-1,j))+X(i+1,j+1)-X(i-1,j+1))^2; %Sobel算子的Dx(垂直梯度) Dy=(X(i-1,j+1)-X(i-1,j-1)+2*(X(i,j+1)-X(i,j-1))+X(i+1,j+1)-X(i+1,j-1))^2; %Sobel算子的Dx(水平梯度) g(i,j)=round(sqrt(Dx+Dy)); %此为梯度模round为取整函数 end end for i=1:S(1) for j=1:S(2) if g(i,j)>T X(i,j)=255; %把梯度值和阈值比较 ,大于T的把图像的灰度变为255小于T的把图像的灰度变为0 else X(i,j)=0; end end end figure (2) image(X) colormap(gray(256)) %显示的图就为边缘图 title('sobel算子检测无噪图像,fontsize,18,fontweight,bold,fontname,隶书'); saveas (2,'F:\bb','jpg')
评论
    相关推荐