• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-10
  • 语言: Matlab
  • 标签: sobel算子  

资源简介

关于sobel算子的算法,分为x和y方向的梯度,看完可以对sobel有个很好的了解

资源截图

代码片段和文件信息

% function [gra_xgra_y] = grad(I)
%%%读入图像并预处理
clear all;
close all;
f=imread(‘lenna_gray.jpg‘);
f=rgb2gray(f);
I=double(f);
[m n] = size(I);
gra_x = zeros(mn);
gra_y = zeros(nn);
%%%求图像四个角x和y方向梯度
gra_x(11) = +2*I(21) + I(22);
gra_x(1n) = +I(2n-1) + 2*I(2n);
gra_x(m1) = -2*I(m-11) - I(m-12);
gra_x(mm) = -I(m-1n-1) - 2*I(m-1n);
gra_y(11) = +2*I(12) + I(22);
gra_y(1n) = -2*I(1n-1)-I(2n-1);
gra_y(m1) = +I(m-12)+2*I(m2);
gra_y(mn) = -I(m-1n-1)-2*I(mn-1);
%%%求图像最右边和最左边一列元素的x和y方向梯度
for j=2:n-1
    gra_x(1j) = +I(2j-1)+2*I(2j)+I(2j+1);
    gra_x(mj) = -I(m-1j-1)-2*I(m-1j) - I(m-1j+1);
    gra_y(1j) = -2*I(1j-1)-I(2j-1)+2*I(1j+1)+I(2j+1);
    gra_y(mj) = -I(m-1j-1)-2*I(mj-1)+2*I(m-1j+1)+I(mj+1);
end
%%%求图像最上边和最下边一列元素的x和y方向梯度
fo

评论

共有 条评论

相关资源