%文件筛选框 选择图片
[filename,pathname] = uigetfile({'*.jpg;*.bmp;*.tif;*.png;*.gif','All Image Files'},'请选择一张图片');
if filename == 0%如果没有选择, 直接返回即可
return;
end
strfullname = strcat(pathname,filename);%取得图像文件全名
I = imread(strfullname);%读取图片
figure
subplot(221)
imshow(I);%显示图片
title('测试图像');
[a b c]=size(I);
mainfc;
%%均值滤波降噪
f=I;
f2=double(f);
[M,N]=size(f);
f3=zeros([M,N]);
for x=2:(M-1);
for y=2:(N-1);
f3(x,y)=(f2(x-1,y-1)+f2(x,y-1)+f2(x+1,y-1)+f2(x-1,y)+f2(x,y)+f2(x+1,y)+f2(x-1,y+1)+f2(x,y+1)+f2(x+1,y+1))/9;
end
end
subplot(222)
imshow(f3/255);
title('均值滤波降噪');
%均衡增强
I=histeq((f2/255));
subplot(223)
imshow(I);
title('均衡化增强处理');
%二值化
I=im2bw(I);
subplot(224)
imshow(I);
title('二值化');
%分割圆环
%第一个圈圈
hold on
x0=240;
y0=220;
r=50;
theta=0:pi/50:2*pi;
x=x0+r*cos(theta);
y=y0+r*sin(theta);
plot(x,y,'-',x0,y0,'.','color','r','linewidth',3);
mainfc;
%第二个圈圈
hold on
x0=240;
y0=220;
r=80;
theta=0:pi/50:2*pi;
x=x0+r*cos(theta);
y=y0+r*sin(theta);
plot(x,y,'-',x0,y0,'.','color','b','linewidth',3);
%第三个圈圈
hold on
x0=240;
y0=220;
r=110;
theta=0:pi/50:2*pi;
x=x0+r*cos(theta);
y=y0+r*sin(theta);
plot(x,y,'-',x0,y0,'.','color','y','linewidth',3);
%第四个圈圈
hold on
x0=240;
y0=220;
r=150;
theta=0:pi/50:2*pi;
x=x0+r*cos(theta);
y=y0+r*sin(theta);
plot(x,y,'-',x0,y0,'.','color','g','linewidth',3);
%%分
for i=1:M
for j=1:N
if sqrt((i-220)^2+(j-240)^2)<50
II(i,j)=I(i,j);
else
II(i,j)=0;
end
end
end
figure
imshow(II);
title('第一个圈圈');
for i=1:M
for j=1:N
if (50<sqrt((i-220)^2+(j-240)^2)) && (sqrt((i-220)^2+(j-240)^2)<80)
II(i,j)=I(i,j);
else
II(i,j)=0;
end
end
end
figure
imshow(II);
title('第二个圈圈')
for i=1:M
for j=1:N
if (80<sqrt((i-220)^2+(j-240)^2)) && (sqrt((i-220)^2+(j-240)^2)<110)
II(i,j)=I(i,j);
else
II(i,j)=0;
end
end
end
figure
imshow(II);
title('第三个圈圈')
for i=1:M
for j=1:N
if (110<sqrt((i-220)^2+(j-240)^2)) && (sqrt((i-220)^2+(j-240)^2)<150)
II(i,j)=I(i,j);
else
II(i,j)=0;
end
end
end
figure
imshow(II);
title('第四个圈圈')
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
MATLAB提供了丰富的功能和工具,用于数字图像处理。以下是一些常用的数字图像处理功能: 1. 读取和显示图像:使用imread函数读取图像文件,并使用imshow函数显示图像。 2. 调整图像大小和尺度:使用imresize函数调整图像的大小和尺度。 3. 灰度转换:使用rgb2gray函数将彩色图像转换为灰度图像。 4. 图像滤波:使用各种滤波器函数,如imfilter、fspecial等,进行图像平滑、锐化、边缘检测等操作。 5. 直方图均衡化:使用histeq函数对图像进行直方图均衡化,增强图像的对比度。 6. 二值化:使用im2bw函数将灰度图像转换为二值图像,根据阈值将像素值设为0或1。 7. 图像分割:使用各种图像分割算法,如基于阈值的分割、基于边缘的分割、基于区域的分割等,将图像分成不同的区域或对象。 8. 特征提取:使用各种特征提取算法,如边缘提取、角点检测、纹理特征提取等。 9. 图像拼接:使用图像拼接算法将多个图像拼接成单个图像。 10. 图像处理算法:使用自定义的图像处理算法,如图像修复、图像融合等。 以上只是MATLAB数字图像处理功能的
资源推荐
资源详情
资源评论
收起资源包目录
基于MATLAB图像处理系统【GUI面板】.zip (4个子文件)
基于MATLAB图像处理系统【GUI面板】
top090.jpg 87KB
top096.jpg 87KB
main.m 2KB
mainfc.p 202B
共 4 条
- 1
资源评论
MATLAB管家matlab674
- 粉丝: 1326
- 资源: 190
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 华为Java开发一面二面附笔试(OD)pdf
- 微服务架构下的API文档管理:Java与Spring Boot的实践
- INFO-HKELM向量加权算法优化混合核极限学习机多变量回归预测(Matlab完整源码和数据)
- java基于ssm+vue社区人员管理系统源码 带毕业论文
- 基于C语言的拓扑排序实现.docx
- java基于ssm+vue航空信息管理系统源码 带毕业论文
- map_mode_escape_1.28.13.12700.pak
- 基于C语言的进制转换实现.docx
- 基于Python+django框架的网络课程在线学习平台 源码+数据库+录屏(毕业设计)
- 深入探索:使用Python的`cryptography`模块进行加密与解密
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功