图像处理实验报告.docx
- 文档编号:6888332
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:18
- 大小:1.54MB
图像处理实验报告.docx
《图像处理实验报告.docx》由会员分享,可在线阅读,更多相关《图像处理实验报告.docx(18页珍藏版)》请在冰豆网上搜索。
图像处理实验报告
摘要:
图像处理,用计算机对图像进行分析,以达到所需结果的技术。
又称影像处理。
基本内容图像处理一般指数字图像处理。
数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。
图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别3个部分。
图像处理一般指数字图像处理。
数字图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。
目前,图像处理演示系统应用领域广泛医学、军事、科研、商业等领域。
因为数字图像处理技术易于实现非线性处理,处理程序和处理参数可变,故是一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。
本图像处理演示系统以数字图像处理理论为基础,对某些常用功能进行界面化设计,便于初级用户的操作。
设计要求
可视化界面,采用多幅不同形式图像验证系统的正确性;
合理选择不同形式图像,反应各功能模块的效果及验证系统的正确性
对图像进行灰度级映射,对比分析变换前后的直方图变化;
1.课题目的与要求
目的:
基本功能:
彩色图像转灰度图像
图像的几何空间变换:
平移,旋转,剪切,缩放
图像的算术处理:
加、减、乘
图像的灰度拉伸方法(包含参数设置);
直方图的统计和绘制;直方图均衡化和规定化;
要求:
1、熟悉图像点运算、代数运算、几何运算的基本定
义和常见方法;
2、掌握在MTLAB中对图像进行点运算、代数运算、几何运算的方法
3、掌握在MATLAB中进行插值的方法
4、运用MATLAB语言进行图像的插值缩放和插值旋转等
5、学会运用图像的灰度拉伸方法
6、学会运用图像的直方图设计和绘制;以及均衡化和规定化
7、进一步熟悉了解MATLAB语言的应用,将数字图像处理更好的应用于实际
2.课题设计内容描述
1>彩色图像转化灰度图像:
大部分图像都是RGB格式。
RGB是指红,绿,蓝三色。
通常是每一色都是256个级。
相当于过去摄影里提到了8级灰阶。
真彩色图像通常是就是指RGB。
通常是三个8位,合起来是24位。
不过每一个颜色并不一定是8位。
比如有些显卡可以显示16位,或者是32位。
所以就有16位真彩和32位真彩。
在一些特殊环境下需要将真彩色转换成灰度图像。
1单独处理每一个颜色分量。
2.处理图像的“灰度“,有时候又称为“高度”。
边缘加强,平滑,去噪,加锐度等。
3.当用黑白打印机打印照片时,通常也需要将彩色转成灰白,处理后再打印
4.摄影里,通过黑白照片体现“型体”与“线条”,“光线”。
2>图像的几何空间变化:
图像平移是将图像进行上下左右的等比例变化,不改变图像的特征,只改变位置。
图像比例缩放是指将给定的图像在x轴方向按比例缩放fx倍,在y轴按比例缩放fy倍,从而获得一幅新的图像。
如果fx=fy,即在x轴方向和y轴方向缩放的比率相同,称这样的比例缩放为图像的全比例缩放。
如果fx≠fy,图像的比例缩放会改变原始图象的像素间的相对位置,产生几何畸变。
旋转。
一般图像的旋转是以图像的中心为原点,旋转一定的角度,也就是将图像上的所有像素都旋转一个相同的角度。
旋转后图像的的大小一般会改变,即可以把转出显示区域的图像截去,或者扩大图像范围来显示所有的图像。
图像的旋转变换也可以用矩阵变换来表示。
3>图像的算术处理:
图像代数运算是指对两幅或两幅以上输入图像对应的像素逐个进行和差积商运算以产生增强效果的图像。
图像运算是一种比较简单有效的增强处理手段是图像处理中常用方法。
三种图像处理代数运算的数学表达式如下:
C(x,y)=A(x,y)+B(x,y)
C(x,y)=A(x,y)-B(x,y)
C(x,y)=A(x,y)*B(x,y)
4>图像的灰度拉伸方法:
灰度拉伸又叫对比度拉伸,它是最基本的一种灰度变换,使用的是最简单的分段线性变换函数,它的主要思想是提高图像处理时灰度级的动态范围。
可以有选择的拉伸某段灰度区间以改善输出图像。
如图,所示的变换函数的运算结果是将原图在a到b之间的灰度拉伸到c到d之间。
如果一幅图像的灰度集中在较暗的区域而导致图像偏暗,可以用灰度拉伸功能来拉伸(斜率>1)物体灰度区间以改善图像;同样如果图像灰度集中在较亮的区域而导致图像偏亮,也可以用灰度拉伸功能来压缩(斜率<1)物体灰度区间以改善图像质量。
5>直方图设计和绘制;以及均衡化和规定化:
灰度直方图是将数字图像的所有像素,按照灰度值的大小,统计其所出现的频度。
通常,灰度直方图的横坐标表示灰度值,纵坐标为半个像素个数,也可以采用某一灰度值的像素数占全图像素数的百分比作为纵坐标。
直方图均衡方法的基本原理是:
对在图像中像素个数多的灰度值(即对画面起主要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并。
从而达到清晰图像的目的。
3.总体方案设计
1>GUI图像处理平台的总体设计
图像处理平台设计的目的是能够将图像处理的各个独立算法集成到一个平台内,方便用户选用多种方法对图像进行处理.平台基于MatlabGUI设计,实现图像处理过程的交互和可视化,并为用户二次开发提供平台接口,提高图像处理算法的综合利用效率
2>平台总体功能设计
subplot(121);
imshow(I);
title('原始图像');
subplot(122);
imshow(x);
title('灰度图像');
实验结果:
图像的几何空间变换:
平移,旋转,剪切,缩放
img1=imread('C:
\MATLAB7\toolbox\images\imdemos\guidemo123\jujiao3.jpg','jpg');
img1=rgb2gray(img1);
figure,imshow(img1);
imwrite(img1,'a1.jpg');
%%%%%%平移
se=translate(strel
(1),[2020]);
img2=imdilate(img1,se);
figure,imshow(img2);
imwrite(img2,'a2.jpg');
%%%%%%旋转
img3=imrotate(img1,90);
figure,imshow(img3);
imwrite(img3,'a3.jpg');
%%%%%%缩放
img4=imresize(img1,2);
figure,imshow(img4);
imwrite(img4,'a4.jpg');
原始图像:
平移图像:
旋转图像:
缩放图像:
图像的算术处理:
加、减、乘
加法
A=imread('C:
\MATLAB7\toolbox\images\imdemos\guidemo123\jujiao3.jpg','jpg');
B=imread('C:
\MATLAB7\toolbox\images\imdemos\guidemo123\jujiao1.jpg','jpg');
subplot(1,3,1);imshow(A);
title('图像1');
subplot(1,3,2);imshow(B);
title('图像2');
C=imadd(A,B);
subplot(1,3,3);imshow(C);
title('相加后的图像')
减法
A=imread('C:
\MATLAB7\toolbox\images\imdemos\guidemo123\jujiao3.jpg','jpg');
B=imread('C:
\MATLAB7\toolbox\images\imdemos\guidemo123\jujiao1.jpg','jpg');
subplot(2,3,1);imshow(A);
title('图像1');
subplot(2,3,2);imshow(B);
title('图像2');
C=imsubtract(A,B);
subplot(2,3,3);imshow(C);
title('相减后的图像')
乘法
A=imread('C:
\MATLAB7\toolbox\images\imdemos\guidemo123\jujiao3.jpg','jpg');
B=imread('C:
\MATLAB7\toolbox\images\imdemos\guidemo123\jujiao1.jpg','jpg');
subplot(1,3,1);imshow(A);
title('图像1');
subplot(1,3,2);imshow(B);
title('图像2');
C=immultiply(A,B);
subplot(1,3,3);imshow(C);
title('相乘后的图像')
图像的灰度拉伸方法(包含参数设置);
img=imread('C:
\MATLAB7\toolbox\images\imdemos\guidemo123\jujiao3.jpg','jpg');
figure
(1);
imshow(img);
title('原图');
[m,n]=size(img);%测量图像尺寸参数
GreyHist=zeros(1,256);%预创建存放灰度出现概率的向量
fork=0:
255
GreyHist(k+1)=length(find(img==k))/(m*n);%计算每级灰度出现的概率,将其存入GreyHist中相应位置
end
figure
(2);
bar(0:
255,GreyHist)%绘制直方图
title('原直方图')
xlabel('灰度值')
ylabel('出现概率')
%灰度拉伸
imggrey=img;
prompt={'请输入系数a','请输入系数b'};
words='请输入线性拉伸函数:
';
answer=inputdlg(prompt,words,1,{'0.5','2'});
a=str2double(answer
(1));
b=str2double(answer
(2));
fori=1:
m
forj=1:
n
img(i,j)=a*img(i,j)+b;
end
end
figure(3);
imshow(img);
title('灰度拉伸');
GreyHist=zeros(1,256);%预创建存放灰度出现概率的向量
fork=0:
255
直方图的统计和绘制;直方图均衡化和规定化;
%一,图像的预处理,读入彩色图像将其灰度化
img=imread('C:
\MATLAB7\toolbox\images\imdemos\guidemo123\jujiao3.jpg','jpg');%读入JPG彩色图像文件
imshow(img)%显示出来
title('输入的彩色JPG图像')
imwrite(rgb2gray(img),'PicSampleGray.jpg');%将彩色图片灰度化并保存
img=rgb2gray(img);%灰度化后的数据存入数组
%二,绘制直方图
[m,n]=size(img);%测量图像尺寸参数
GP=zeros(1,256);%预创建存放灰度出现概率的向量
fork=0:
255
GP(k+1)=length(find(img==k))/(m*n);%计算每级灰度出现的概率,将其存入GP中相应位置
end
figure,bar(0:
255,GP,'g')%绘制直方图
title('原图像直方图')
xlabel('灰度值')
ylabel('出现概率')
%三,直方图均衡化
S1=zeros(1,256);
fori=1:
256
forj=1:
i
S1(i)=GP(j)+S1(i);%计算Sk
end
end
S2=round((S1*256)+0.5);%将Sk归到相近级的灰度
fori=1:
256
GPeq(i)=sum(GP(find(S2==i)));%计算现有每个灰度级出现的概率
end
figure,bar(0:
255,GPeq,'b')%显示均衡化后的直方图
title('均衡化后的直方图')
xlabel('灰度值')
ylabel('出现概率')
%四,图像均衡化
PA=img;
fori=0:
255
PA(find(img==i))=S2(i+1);%将各个像素归一化后的灰度值赋给这个像素
end
figure,imshow(PA)%显示均衡化后的图像
title('均衡化后图像')
imwrite(PA,'PicEqual.jpg');
4.3.问题说明和总结:
对在调试中发现的问题和解决方法做说明。
图像处理,是对图像进行分析、加工、和处理,使其满足视觉、心理以及其他要求的技术。
图像处理是信号处理在图像域上的一个应用。
目前大多数的图像是以数字形式存储,因而图像处理很多情况下指数字图像处理。
进行程序调试的过程中,最重要的是输入图像,刚开始是为了找到原始图像耗费了很多时间,一般的条件书上有,但要对其进行磨合。
程序编写时,应该注意大小写。
应该注意最后的输出部分,保证输出条件与输入条件相同。
5.总结与体会
这次使用MATALB进行图像处理的编写,是我对MATALB软件有了更深入的了解,对其的应用能力也有了相应的提高,更深入的了解到MATALB作为绘图软件的方便与快捷。
在进行程序调试的过程中,最重要的是输入图像,只有找到图像的原始位置,才能进行下面的程序编码。
编码程序时,应该在MATLAB原始文档的位置先行输入,输入时应该注意大小写。
程序应该尽可能地简单,只要能达到目的就行,程序越复杂,运行时的错误就越多。
以上是我的程序编码经验与感受。
6.参考文献
《数字图像处理实验指导书》厍向阳曹颖超编著
《MATLAB与数学实验》艾冬梅李艳晴编著
《图像处理和分析技术》章毓晋编著
《MATLAB实用教程》郑阿奇编著
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图像处理 实验报告 图像 处理 实验 报告