matlab三维图像如何进行膨胀

 时间:2024-10-23 12:48:49

1、所谓的膨胀就是给图像的边界添加额外的像素,首先启动你的matlab。如下图所示

matlab三维图像如何进行膨胀

2、首先是对对象原点坐标的获取。然后创建3维元素>> origin = floor((size(nhood)敫苻匈酃+1)/2) >> se = strel ('diamond',3) Flat STREL object containing 25 neighbors. Decomposition: 3 STREL objects containing a total of 13 neighborsNeighborhood: 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0

matlab三维图像如何进行膨胀

3、接着需要用getsequence函数获得结构侍厚治越元素序列,如下图所示>> seq=getsequence(sel) seq = 4x1 array of STREL objects >> seq(1) ans = Flat STREL object containing 5 neighbors.Neighborhood: 0 1 0 1 1 1 0 1 0 >> seq(2) ans = Flat STREL object containing 4 neighbors.Neighborhood: 0 1 0 1 0 1 0 1 0 >> seq(3) ans = Flat STREL object containing 4 neighbors.Neighborhood: 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 >> seq(4) ans = Flat STREL object containing 4 neighbors.Neighborhood: 0 1 0 1 0 1 0 1 0

matlab三维图像如何进行膨胀

4、我们以一个轮胎的图像膨胀为例讲解,图像膨胀操作,首先利用mat2gray函数将数据矩阵转灰度图像:I=mat2gray(A,[amin amax]) I=mat2gray(A) I=rgb2gray(RGB) newmap=rgb2gray(map) BW=im2bw(I,level) BW=im2bw(X,map,level)BW=im2bw(RGB,level)

5、对图像边缘操作,每次处理一个像素,将图像边缘形成一个像素集。将这个像素集但矩阵块处理。移动时可以同向移动。>>I=imread('tire.tif'); %读取图片像素>>f=inline('max(x(:))'); %像素的边缘块>>I2=nlfilter(I,[3 3],f); %边缘滤波

matlab三维图像如何进行膨胀

6、查找图片中心像素的所有像素点,重复第四步和第五步步骤。图像处理完成!>>imshow(I);>>figure,imshow(I2);

matlab三维图像如何进行膨胀
  • 天涯明月刀手游如何拍照?
  • UG10.0如何建模长椅子
  • PROE中可变界面扫描的用法
  • 如何加载产品模型
  • Inventor螺旋叶钣金绘制教程
  • 热门搜索
    手抄报花边 科技手抄报内容 节约用水手抄报一等奖 遨游汉字王国手抄报 五一劳动节手抄报 植树节的手抄报 汉字的手抄报 世界水日手抄报 网络安全手抄报 读书节手抄报