图像处理MATLAB③(Roberts算子边缘检测,膨胀,滤波,腐蚀,开运算,闭运算使用方法)

目录

一.介绍 

二.常用函数

1.开运算

2.闭运算 

3.腐蚀

4.膨胀

三.代码:

四.效果

1.初始图片:

 2.边缘检测

 3.开运算

4.闭运算

5.膨胀

6.滤波


一.介绍 

Roberts算子是一种斜向偏差分的梯度计算方法,梯度的大小代表边缘的强度,梯度的方向与边缘走向垂直。Roberts算子边缘定位准,但是对噪声敏感。适用于边缘明显而且噪声较少的图像分割,在应用中经常用Roberts算子来提取道路(智能车摄像头采集信息)

开运算:

二.常用函数

部分未提到的基础函数用法:请移步前两次图像处理基础函数介绍

基于MATLAB的图像处理②

1.开运算

   I 2 = Imopen(I,SE);(开运算使图像的轮廓变得光滑,断开狭窄的连接和消除细毛刺。)

参数说明:

  1. I为原始图像,可以是二值或灰度图像(对应于灰度膨胀)
  2. SE是由strel( )函数返回的自定义或者预设的结构元素对象。
  3. I2为腐蚀后的输出图像。

2.闭运算 

   I 2 = Imclose(I,SE);(闭运算在去除图像前景噪声方面有较好的应用

     参数说明:同上

3.腐蚀

I2 = Imreode(I,SE);(腐蚀能够消融物体的边界,使物体断裂)

     参数说明:同上

4.膨胀

I2 = Imdilate (I,SE);(膨胀能使物体边界扩大,对图像进行二值化之后,很容易使得一个连通的物体断裂为两部分,而这会给后续的图像分析造成困扰,此时就可以借助膨胀桥接断裂的缝隙。

     参数说明:同上

5.边缘检测

三.代码:

sourcePic=imread('E:\photo\3.jpg');        %读取原图像
grayPic=mat2gray(sourcePic);           %实现图像矩阵的归一化操作
[m,n]=size(grayPic);
newGrayPic=grayPic;                  %为保留图像的边缘一个像素
robertsNum=0;                        %经Roberts算子计算得到的每个像素的值
robertThreshold=0.4;                   %设定阈值
for j=1:m-1                           %进行边界提取
    for k=1:n-1
      robertsNum=abs(grayPic(j,k)-grayPic(j+1,k+1))+abs(grayPic(j+1,k)-grayPic(j,k+1));
      if(robertsNum > robertThreshold)
            newGrayPic(j,k)=255;
       else
            newGrayPic(j,k)=0;
      end
    end
end
figure,imshow(newGrayPic);
imwrite(newGrayPic,'E:\photo\Roberts边缘检测.jpg');

se=strel('disk',1);     %采用半径为1的圆作为结构元素

KAI=imopen(newGrayPic,se);         %开启操作
figure,imshow(KAI);
imwrite(KAI,'E:\photo\Roberts开运算.jpg');

BI=imclose(newGrayPic,se);         %闭合裂隙
figure,imshow(BI);
imwrite(BI,'E:\photo\Roberts闭运算.jpg');

PZ=imdilate(newGrayPic,se);
figure,imshow(PZ);
imwrite(PZ,'E:\photo\Roberts膨胀.jpg');

k2=medfilt2(newGrayPic,[2,2]);
figure,imshow(k2);
imwrite(k2,'E:\photo\Roberts滤波.jpg');

FS=imerode(newGrayPic,[2,2]);
figure,imshow(FS);
imwrite(FS,'E:\photo\Roberts腐蚀.jpg');

四.效果

1.初始图片:

图像处理MATLAB③(Roberts算子边缘检测,膨胀,滤波,腐蚀,开运算,闭运算使用方法)_第1张图片

 2.边缘检测

图像处理MATLAB③(Roberts算子边缘检测,膨胀,滤波,腐蚀,开运算,闭运算使用方法)_第2张图片

 3.开运算

图像处理MATLAB③(Roberts算子边缘检测,膨胀,滤波,腐蚀,开运算,闭运算使用方法)_第3张图片

4.闭运算

图像处理MATLAB③(Roberts算子边缘检测,膨胀,滤波,腐蚀,开运算,闭运算使用方法)_第4张图片

5.膨胀

图像处理MATLAB③(Roberts算子边缘检测,膨胀,滤波,腐蚀,开运算,闭运算使用方法)_第5张图片

6.滤波

图像处理MATLAB③(Roberts算子边缘检测,膨胀,滤波,腐蚀,开运算,闭运算使用方法)_第6张图片

 欢迎评论区交流指正,您的点赞是我持续创造的动力!!!

图像边缘检测④( Sobel边缘算子,Prewitt边缘算子,Laplacian边缘算子,Canny边缘算子) 

你可能感兴趣的:(Matlab图像处理,matlab,图像处理,计算机视觉,蓝桥杯,算法)