ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【数字图像处理】基于Matlab的图像基本操作

2022-04-24 23:03:38  阅读:204  来源: 互联网

标签:subplot title 数字图像处理 imshow Matlab 基本操作 Line Disk Strel


1.找到一副具有多形状特征的图像;

2.选取合适的阈值,得到二值化图像;

%% 基础实验部分
Img=imread('Test_bw.jpg');%多形状特征的图像
Img_Gray=rgb2gray(Img);
figure;imhist(Img_Gray);
level=125/255;%选取合适阈值(波谷)
%level=graythresh(Img_Gray);%使用 Otsu 方法计算全局图像阈值
I=im2bw(Img,level);%#ok<IM2BW> %得到二值化图像(im2bw是指导书中要求,建议使用imbinarize)
figure,subplot(221.5),imshow(Img),title('原图');
subplot(223),imshow(Img_Gray),title('灰度图');
subplot(224),imshow(I),title('二值化');

图片来自网络,侵删

3.分别设置不同的结构元素(圆形,方形,两种线形),大小根据自己的图像进行设置;

%% 创建结构元素
Strel_Disk=strel('disk',10);%结构元素为半径10的圆
Strel_Rectangle=strel('rectangle',[3 4]);%结构元素为大小为[3 4]的矩形
Strel_Square=strel('square',5);%结构元素为边长5的方形
Strel_Line=strel('line',10,45);%结构元素为长10角度45的线

4.对得到的二值图像,利用不同的结构元素进行腐蚀运算,并分析得到结果;

%% 腐蚀运算
Erode_Disk=imerode(I,Strel_Disk);
Erode_Rectangle=imerode(I,Strel_Rectangle);
Erode_Square=imerode(I,Strel_Square);
Erode_Line=imerode(I,Strel_Line);
figure,subplot(231),imshow(Img),title('原图');
subplot(232),imshow(I),title('二值化图');
subplot(233),imshow(Erode_Disk),title('圆型腐蚀');
subplot(234),imshow(Erode_Rectangle),title('矩形腐蚀');
subplot(235),imshow(Erode_Square),title('方形腐蚀');
subplot(236),imshow(Erode_Line),title('线性腐蚀');

5.对得到的二值图像,利用不同的结构元素进行膨胀运算,并分析得到结果;

%% 膨胀运算
Dilate_Disk=imdilate(I,Strel_Disk);
Dilate_Rectangle=imdilate(I,Strel_Rectangle);
Dilate_Square=imdilate(I,Strel_Square);
Dilare_Line=imdilate(I,Strel_Line);
figure,subplot(231),imshow(Img),title('原图');
subplot(232),imshow(I),title('二值化图');
subplot(233),imshow(Dilate_Disk),title('圆型膨胀');
subplot(234),imshow(Dilate_Rectangle),title('矩形膨胀');
subplot(235),imshow(Dilate_Square),title('方形膨胀');
subplot(236),imshow(Dilare_Line),title('线性膨胀');

6.对得到的二值图像,利用不同的结构元素进行开运算,并分析得到结果;

%% 开运算
Open_Disk=imopen(I,Strel_Disk);
Open_Rectangle=imopen(I,Strel_Rectangle);
Open_Square=imopen(I,Strel_Square);
Open_Line=imopen(I,Strel_Line);
figure,subplot(231),imshow(Img),title('原图');
subplot(232),imshow(I),title('二值化图');
subplot(233),imshow(Open_Disk),title('圆型开运算');
subplot(234),imshow(Open_Rectangle),title('矩形开运算');
subplot(235),imshow(Open_Square),title('方形开运算');
subplot(236),imshow(Open_Line),title('线性开运算');

7.对得到的二值图像,利用不同的结构元素进行闭运算,并分析得到结果;

%% 闭运算
Close_Disk=imclose(I,Strel_Disk);
Close_Rectangle=imclose(I,Strel_Rectangle);
Close_Square=imclose(I,Strel_Square);
Close_Line=imclose(I,Strel_Line);
figure,subplot(231),imshow(Img),title('原图');
subplot(232),imshow(I),title('二值化图');
subplot(233),imshow(Close_Disk),title('圆型闭运算');
subplot(234),imshow(Close_Rectangle),title('矩形闭运算');
subplot(235),imshow(Close_Square),title('方形闭运算');
subplot(236),imshow(Close_Line),title('线性闭运算');

8.每幅图像均需有含义明确的图题。

标签:subplot,title,数字图像处理,imshow,Matlab,基本操作,Line,Disk,Strel
来源: https://www.cnblogs.com/ShuyaoDong/p/16178784.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有