实验三 小型图像处理系统
一、实验目的
1、使学生加深对数字图像处理主要功能的理解;
2、要求学生使用MatLab 软件完成具有一些简单功能的小型图像处理系统。 二、实验原理
(1)基本原理
数字图像处理是研究图像的获取、传输、存储,变换、显示、理解与综合应用的一门崭新学科。数字图像处理的主要任务包括:图像的数字化、图像变换、图像增强、图像的恢复、图像的压缩和编码、图像分割等。
其中图像变换的目的在于:使图像处理问题简化;有利于图像特征提取。常用的图像变换工具有DFT、 DCT和小波变换等。
图像增强目的是获得更“好”、更“有用”的图像。根据所处理的空间不同, 图像增强的方法分为: 基于图像域的方法,即直接在图像所在的空间进行处理;基于变换域的方法,即在图像变换域间接进行,有时也叫频域处理。
灰度直方图描述了图像的概貌。直方图变换后可使图像的灰度间距拉开或使灰度分布均匀,从而增大对比度,使图像细节清晰,达到增强目的。直方图均衡化是一种常用的直方图变换方法,它把原始图的直方图变换为均匀分布的形式,增加像素灰度值的动态范围,提高图像对比度。
大部分的噪声都可以看作是随机信号,对图像的影响可以看作是孤立的。某一像素,如果它与周围像素点相比,有明显的不同,则该点被噪声感染了。去除噪声的方法较多,如邻域平均法、中值滤波、边界保持类滤波、多幅图像平均、低通滤波处理等。
图像分割是数字图像处理中一个具有挑战性的研究内容,可以将图像分割理解为:把图像分成互不重叠的区域,并提取感兴趣的目标。图像分割的基本思路是:从简到难,逐级分割;控制背景环境,降低分割难度;把焦点放在增强感兴趣对象,缩小不相干图像成分的干扰上。基于灰度值的基本特性不连续性和相似性,图像分割的基本策略: 策略1:检测图像像素灰度级的不连续性,找到点、线(宽度为1)、边(不定宽度),先找边,后确定区域;策略2:检测图像像素的灰度值的相似性,通过选择阈值,找到灰度值相似的区域,区域的外轮廓就是对象的边。在图像分割的众多算法中,图像的阈值分割技术是实现相对简单的一种方法。
(2)参考程序
clear; clc; close all; chos=0; possibility=11; while chos~=possibility,
chos=menu('图像处理系统','输入图像','灰度化','直方图均衡','镜像翻转','添加噪声','去除噪声','伪彩色增强', ,' 阈值分割', ,' 边缘检测','退出'); if chos==1, %输入图像 clc;
[namefile,pathname]=uigetfile('*.*','Select image'); if namefile~=0
I=imread(strcat(pathname,namefile)); imshow(I); title('输入图像'); end end %灰度化
%对彩色图像进行灰度转换,并输出灰度图像 if chos==2, % 补充程序 end if chos==3, %补充程序 end %补充程序
3、实验用图
horse.jpg
三、实验步骤
1、打开计算机,启动MATLAB程序; 2、调入数字图像,并进行相应的图像处理; 3、记录和整理实验报告。 四、实验仪器
1、计算机;
2、MATLAB等程序; 五、实验报告内容
1、叙述实验过程;
2、提交实验的原始图像和结果图像。 六、思考题
为了实现基本的图像处理任务,你设计的小型图像处理系统还有哪些功能可以扩展?
clear;
clc;
close all; chos=0;
possibility=10;
while chos~=possibility,
chos=menu('图像处理系统','输入图像','灰度化','直方图均衡','镜像翻转','添加噪声','去除噪声','伪彩色增强', ' 阈值分割',' 边缘检测','退出'); if chos==1, %输入图像 clc;
[namefile,pathname]=uigetfile('*.jpg*','Select image'); if namefile~=0
I=imread(strcat(pathname,namefile)); imshow(I);
title('输入图像'); end end
if chos==2,
I1=rgb2gray(I); imshow(I1); end
if chos==3,
I2=histeq(I1,16); imshow(I2); end
if chos==4,
I3=I(end:-1:1,:);
I3=I3(end:-1:1,end:-1:1); imshow(I3); end
if chos==5,
noise=0.1*randn(size(I1)); I4=imadd(I1,im2uint8(noise)); imshow(I4); end
if chos==6,
I5=wiener2(I4); imshow(I5); end
if chos==7,
I1=double(I1); [m,n]=size(I1); c=256;
for i=1:m for j=1:n
if I1(i,j)<=c/4 R(i,j)=0;
G(i,j)=4*I1(i,j); B(i,j)=c;
else if I1(i,j)<=c/2 R(i,j)=0; G(i,j)=c;
B(i,j)=-4*I1(i,j)+2*c; else if I1(i,j)<=3*c/4
R(i,j)=4*I1(i,j)-2*c; G(i,j)=c; B(i,j)=0; else
R(i,j)=c;
G(i,j)=-4*I1(i,j)+4*c; B(i,j)=0; end end end end
end for i=1:m
for j=1:n
I6(i,j,1)=R(i,j); I6(i,j,2)=G(i,j); I6(i,j,3)=B(i,j); end end
I6=I6/256; imshow(I6); end
if chos==8,
I7=uint8(I); T=110; S=size(I7);
[maxI,maxP]=max(I7(:,:)) [minI,minP]=min(I7(:,:)) for i=1:S(1) for j=1:S(2)
if I7(i,j)>=T I7(i,j)=255; else I7(i,j)=0; end end end
imshow(I7); end
if chos==9,
I8=edge(I1,'robert',0.15,'both'); imshow(I8); end
if chos==10, exit; end end
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务