图像梯度算子总结

        在计算图像的梯度时有好多种算子可以选择,下面介绍Roberts、Sobel、Prewitt梯度算子。

图像梯度算子总结_第1张图片


                cameraman.tif 原图如下:

图像梯度算子总结_第2张图片


Roberts梯度算子

 


                水平x方向上


%Matlab代码
img=imread('cameraman.tif');
h_x=[1,0;0,-1];
out_img=conv2(img,h_x);
figure;imshow(out_img);

  图像梯度算子总结_第3张图片

                垂直y方向上


%Matlab代码
img=imread('cameraman.tif');
h_y=[0,1;-1,0];
out_img=conv2(img,h_y);
figure;imshow(out_img);

图像梯度算子总结_第4张图片


Sobel梯度算子

                水平x方向上

图像梯度算子总结_第5张图片


%Matlab代码
img=imread('cameraman.tif');
h_x=[-1,-2,-1;0,0,0;1,2,1];
out_img=conv2(img,h_x);
figure;imshow(out_img);
图像梯度算子总结_第6张图片

                垂直y方向上

图像梯度算子总结_第7张图片


%Matlab代码
img=imread('cameraman.tif');
h_y=[-1,0,1;-2,0,2;-1,0,1];
out_img=conv2(img,h_y);
figure;imshow(out_img);
图像梯度算子总结_第8张图片


Prewitt梯度算子

                水平x方向上

图像梯度算子总结_第9张图片


%Matlab代码
img=imread('cameraman.tif');
h_x=[-1,-1,-1;0,0,0;1,1,1];
out_img=conv2(img,h_x);
figure;imshow(out_img);
图像梯度算子总结_第10张图片
                垂直y方向上

图像梯度算子总结_第11张图片


%Matlab代码
img=imread('cameraman.tif');
h_y=[-1,0,1;-2,0,2;-1,0,1];
out_img=conv2(img,h_y);
figure;imshow(out_img);

图像梯度算子总结_第12张图片


你可能感兴趣的:(图像处理)