码迷,mamicode.com
首页 > 其他好文 > 详细

形态学图像处理

时间:2015-10-31 00:22:18      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:

一、C语言简介程序语句分类

1. 循环:

  • while(表达式) 语句 \\当while()内的表达式为真时,循环执行{}内的语句,直到while()内的表达式为假.跳出循环.
  •  do...while语句\\先执行do{}中的语句然后判断while()中的表达式

  • for语句,for(表达式1;表达式2;表达式3) \\先执行表达式1,然后执行表达式2,如果表达式2的值为真.那么执行{}内的语句,执行完毕后在执行表达式

  • 用break语句提前终止循环
  • 用continue语句结束本次循环

2.选择判断

  • if ...else 语句
  • switch
  •  &&  逻辑与    两个值都为真,则结果为真,否则为假

         ||   逻辑或    有一个或一个以上为真,则结果为真,二则都为假时,结果为假.

         !   逻辑非 

  • 优先级

二、形态学算法

1.边界提取

I=imread(‘1.jmp‘);          %载入图像

subplot(1,3,1),imshow(I);

title(‘原始图像‘);

axis([50,250,50,200]);

grid on;                  %显示网格线

axis on;                  %显示坐标系

I1=im2bw(I);

subplot(1,3,2),imshow(I1);

title(‘二值化图像‘);

axis([50,250,50,200]);

grid on;                  %显示网格线

axis on;                  %显示坐标系

I2=bwperim(I1);                 %获取区域的周长

subplot(1,3,3),imshow(I2);

title(‘边界周长的二值图像‘);

axis([50,250,50,200]);

grid on;

axis on;  

区域填充

连通分量的提取

凸壳

膨胀

I=imread(‘1.jmp‘);          %载入图像

I1=rgb2gray(I);

subplot(1,2,1);

imshow(I1);

title(‘灰度图像‘)     

axis([50,250,50,200]);

grid on;                  %显示网格线

axis on;                  %显示坐标系

se=strel(‘disk‘,1);          %生成圆形结构元素

I2=imdilate(I1,se);             %用生成的结构元素对图像进行膨胀

subplot(1,2,2);

imshow(I2);

title(‘ 膨胀后图像‘);

axis([50,250,50,200]);

grid on;                  %显示网格线

axis on;                  %显示坐标系

腐蚀

I=imread(‘xian.bmp‘);          %载入图像

I1=rgb2gray(I);

subplot(1,2,1);

imshow(I1);

title(‘灰度图像‘)     

axis([50,250,50,200]);

grid on;                  %显示网格线

axis on;                  %显示坐标系

se=strel(‘disk‘,1);       %生成圆形结构元素

I2=imerode(I1,se);        %用生成的结构元素对图像进行腐蚀

subplot(1,2,2);

imshow(I2);

title(‘腐蚀后图像‘);

axis([50,250,50,200]);

grid on;                  %显示网格线

axis on;                  %显示坐标系

开操作和闭操作

I=imread(‘xian.bmp‘);          %载入图像

subplot(2,2,1),imshow(I);

title(‘原始图像‘);

axis([50,250,50,200]);

axis on;                  %显示坐标系

I1=rgb2gray(I);

subplot(2,2,2),imshow(I1);

title(‘灰度图像‘);

axis([50,250,50,200]);

axis on;                  %显示坐标系                  

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

I2=imopen(I1,se);         %开启操作

I3=imclose(I1,se);        %闭合操作

subplot(2,2,3),imshow(I2);

title(‘开启运算后图像‘);

axis([50,250,50,200]);

axis on;                  %显示坐标系

subplot(2,2,4),imshow(I3);

title(‘闭合运算后图像‘);

axis([50,250,50,200]);

axis on;                  %显示坐标

开启闭合组合操作

I=imread(‘1jmp‘);          %载入图像

subplot(3,2,1),imshow(I);

title(‘原始图像‘);

axis([50,250,50,200]);

axis on;                  %显示坐标系

I1=rgb2gray(I);

subplot(3,2,2),imshow(I1);

title(‘灰度图像‘);

axis([50,250,50,200]);

axis on;                  %显示坐标系                  

se=strel(‘disk‘,1);    

I2=imopen(I1,se);         %开启操作

I3=imclose(I1,se);        %闭合操作

subplot(3,2,3),imshow(I2);

title(‘开启运算后图像‘);

axis([50,250,50,200]);

axis on;                  %显示坐标系

subplot(3,2,4),imshow(I3);

title(‘闭合运算后图像‘);

axis([50,250,50,200]);

axis on;                  %显示坐标系

se=strel(‘disk‘,1);

I4=imopen(I1,se);

I5=imclose(I4,se);

subplot(3,2,5),imshow(I5);        %开—闭运算图像

title(‘开—闭运算图像‘);

axis([50,250,50,200]);

axis on;                  %显示坐标系

I6=imclose(I1,se);

I7=imopen(I6,se);

subplot(3,2,6),imshow(I7);        %闭—开运算图像

title(‘闭—开运算图像‘);

axis([50,250,50,200]);

axis on;                  %显示坐标系    

细化粗化 (这几个继续找程序)

2.中值滤波器

I=imread(‘1.jmp‘);

I=rgb2gray(I);

J=imnoise(I,‘salt&pepper‘,0.02);

subplot(231),imshow(I);title(‘原图像‘);

subplot(232),imshow(J);title(‘添加椒盐噪声图像‘);

k1=medfilt2(J);            %进行3*3模板中值滤波

k2=medfilt2(J,[5,5]);      %进行5*5模板中值滤波

k3=medfilt2(J,[7,7]);      %进行7*7模板中值滤波

k4=medfilt2(J,[9,9]);      %进行9*9模板中值滤波

subplot(233),imshow(k1);title(‘3*3模板中值滤波‘);

subplot(234),imshow(k2);title(‘5*5模板中值滤波 ‘);

subplot(235),imshow(k3);title(‘7*7模 板中值滤波‘);

subplot(236),imshow(k4);title(‘9*9 模板中值滤波‘);

明天附上运行图

 

形态学图像处理

标签:

原文地址:http://www.cnblogs.com/chunmei/p/4924626.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!