图像处理实验报告.docx

上传人:b****6 文档编号:8768725 上传时间:2023-05-14 格式:DOCX 页数:20 大小:1.51MB
下载 相关 举报
图像处理实验报告.docx_第1页
第1页 / 共20页
图像处理实验报告.docx_第2页
第2页 / 共20页
图像处理实验报告.docx_第3页
第3页 / 共20页
图像处理实验报告.docx_第4页
第4页 / 共20页
图像处理实验报告.docx_第5页
第5页 / 共20页
图像处理实验报告.docx_第6页
第6页 / 共20页
图像处理实验报告.docx_第7页
第7页 / 共20页
图像处理实验报告.docx_第8页
第8页 / 共20页
图像处理实验报告.docx_第9页
第9页 / 共20页
图像处理实验报告.docx_第10页
第10页 / 共20页
图像处理实验报告.docx_第11页
第11页 / 共20页
图像处理实验报告.docx_第12页
第12页 / 共20页
图像处理实验报告.docx_第13页
第13页 / 共20页
图像处理实验报告.docx_第14页
第14页 / 共20页
图像处理实验报告.docx_第15页
第15页 / 共20页
图像处理实验报告.docx_第16页
第16页 / 共20页
图像处理实验报告.docx_第17页
第17页 / 共20页
图像处理实验报告.docx_第18页
第18页 / 共20页
图像处理实验报告.docx_第19页
第19页 / 共20页
图像处理实验报告.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

图像处理实验报告.docx

《图像处理实验报告.docx》由会员分享,可在线阅读,更多相关《图像处理实验报告.docx(20页珍藏版)》请在冰点文库上搜索。

图像处理实验报告.docx

图像处理实验报告

图像处理实验报告

摘要:

图像处理,用计算机对图像进行分析,以达到所需结果的技术。

又称影像处理。

基本内容图像处理一般指数字图像处理。

数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。

图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别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>平台总体功能设计

根据一体化的设计思想,平台主要实现算法集成、交互可视化和提供二次开发接口等功能.其中算法集成分为已有算法集成和新算法集成.具体功能描述如下:

(1)已有算法集成是对Matlab图像处理工具

包中提供的算法进行集成,可以通过使用函数名加参数的方式直接调用.依据功能进行分类,将同类算法集成到同一菜单项内,如将傅里叶变换、小波变换、离散变换等算法归类到图像变换中,进行集成.

(2)新算法集成是指对自主开发的算法进行集成,如改进水平集算法[12]、交互式图割算法[13]、细胞自动机分割算法[14]等均为自主开发的图像分割算法,同已有算法集成方式类似,集成到平台中,便于综合运用和算法分析与对比.

(3)交互式可视化是指对图像处理过程及结果的可视化显示,并提供用户交互区.

(4)二次开发接口是指通过调用集成模板方式,为用户提供一个将自己算法集成到平台中的一个接口

3>总体布局设计

一个高性能的图像处理平台应该为用户提供

方便快捷的操作.平台设计中通过菜单和按钮实现快捷操作,其中菜单项提供平台的整体功能,快捷按钮显示具体的独立功能.图像处理平台的布局设计如图1所示.利用MatlabGUI提供的工具包和底层代码,可以实现菜单功能区、快捷按钮功能区、DEMO显示区、可视化效果显示区和用户交互区的布局设计

 

4.程序实现和测试

4.1各个功能模块的主要实现程序

基本功能:

彩色图像转灰度图像

I=imread('C:

\MATLAB7\toolbox\images\imdemos\peppers.png','png');

x=rgb2gray(I);

figure

(1);

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实用教程》郑阿奇编著

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2