zoukankan      html  css  js  c++  java
  • Sobel算子matlab实现 分类: 图像处理 2014-08-24 21:10 344人阅读 评论(0) 收藏

    算子实际上是用来对图像进行卷积处理,其本质是用变分法来处理梯度问题,用途就是边缘检测。45度和135度效果一般,水平检测加垂直检测效果还可以。


    function Sobel(name,Threshold)
      f = imread(name);
      f = rgb2gray(f);
      f = im2double(f);
      subplot(231);
      
      imshow(f),title('rawpicture');
      
      a45 = [-2 -1 0;
           -1  0 1;
            0  1 2];
       Sobel45 = imfilter(f,a45,'replicate');
       Sobel45 = Sobel45>=Threshold;
       subplot(232);
       imshow(Sobel45),title('45 Sobel edge detect');
       
       a135 = [0 -1 -2;
              1  0 -1;
              2  1  0];
        Sobel135 = imfilter(f,a135,'replicate');
        Sobel135 = Sobel135>=Threshold; 
        subplot(233);
        imshow(Sobel135),title('135 Sobel edge detect');
        
        [Vertical,Threshold] = edge(f,'sobel', 'vertical');
        subplot(234);
        imshow(Vertical),title('Vertical Sobel edge detect')
        
        [Horizontal,Threshold] = edge(f,'sobel','horizontal');
        subplot(235);
        imshow(Horizontal),title('Horizontal Sobel edge detect');
        
        HandV = edge(f,'sobel',Threshold);
        subplot(236);
        imshow(HandV),title('Horizontal and Vertical Sobel edge detect');
        
        sobell=edge(f,'sobel');
        figure(2),subplot(121),imshow(HandV);
        subplot(122),imshow(sobell);
     
          
    end








    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    1221D
    1249E
    D. Yet Another Monster Killing Problem
    大佬传送门
    Zookeeper客户端连接报错
    搭建PXC集群
    Docker分布式环境
    Docker使用
    Docker入门
    MySQL数据库集群概述
  • 原文地址:https://www.cnblogs.com/learnordie/p/4657021.html
Copyright © 2011-2022 走看看