zoukankan      html  css  js  c++  java
  • 形态学图像处理

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

    1. 循环:

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

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

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

    2.选择判断

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

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

             !   逻辑非 

    • 优先级

    二、形态学算法

    grid on;                  %显示网格线

    axis on;                  %显示坐标系

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

    subplot(1,3,4)%1表示1行,3表示3列,4表示第四个图

    1.边界提取

    I=imread('1.jpg');          %载入图像

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

    title('原始图像');

    I1=im2bw(I);

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

    title('二值化图像');

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

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

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

    结果显示

    膨胀

    I=imread('1.jpg');          %载入图像

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

    title('原始图像');

    I1=rgb2gray(I);

    subplot(1,3,2);

    imshow(I1);

    title('灰度图像')     

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

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

    subplot(1,3,3);

    imshow(I2);

    title(' 膨胀后图像');

    结果显示

    腐蚀

    I=imread('1.jpg');  %载入图像

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

    title('原始图像');

    I1=rgb2gray(I);

    subplot(1,2,1);

    imshow(I1);

    title('灰度图像')     

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

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

    subplot(1,2,2);

    imshow(I2);

    title('腐蚀后图像');

    结果图

    开操作和闭操作

    I=imread('1.jpg');          %载入图像

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

    title('原始图像');

    I1=rgb2gray(I);

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

    title('灰度图像');                

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

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

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

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

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

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

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

    结果显示

    开启闭合组合操作

    I=imread('1.jpg');          %载入图像

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

    title('原始图像');

    I1=rgb2gray(I);

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

    title('灰度图像');          

    se=strel('disk',1);    

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

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

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

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

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

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

    se=strel('disk',1);

    I4=imopen(I1,se);

    I5=imclose(I4,se);

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

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

    I6=imclose(I1,se);

    I7=imopen(I6,se);

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

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

    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 模板中值滤波');

    区域填充

    连通分量的提取

    凸壳

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

  • 相关阅读:
    Linux编辑器- vi / vim
    Java使用POI对Excel进行基本操作(4)-Excel中绘制图片
    Java使用POI对Excel进行基本操作(3)-合并单元格
    Java使用POI对Excel进行基本操作(2)-基本操作和样式设置
    Java使用POI对Excel进行基本操作(1)-概述和maven依赖
    Linux之docker搭建
    docker的个人理解
    python接口自动化-requests-toolbelt处理multipart/form-data
    python3.6安装lxml库
    pytest之assert断言
  • 原文地址:https://www.cnblogs.com/chunmei/p/4924626.html
Copyright © 2011-2022 走看看