数字图像处理第一次试验:图像的基本操作和基本统计指标计算

数字图像处理第⼀次试验:图像的基本操作和基本统计指标计算
数字图像处理第⼀次试验:图像的基本操作和基本统计指标计算
前⾔
为了帮助同学们完成痛苦的实验课程设计,本作者将其作出的实验结果及代码贴⾄CSDN中,供同学们学习参考。如有不⾜或描述不完善之处,敬请各位指出,欢迎各位的斧正!
⼀、实验⽬的
(1)熟悉MATLAB图像处理⼯具箱,在掌握MATLAB基本操作的基础上,本课程主要依靠图像处理⼯具箱验证和设计图像处理算法。对于初学者来说,勤学多练、书序MATLAB图像处理⼯具箱也是学好本课程的必经之路。
(2)了解计算图像的统计指标的⽅法及其在图像处理中的意义。
(3)了解图像的⼏何操作,如改变图像⼤⼩、剪切、旋转等。
⼆、实验主要仪器设备
(1)台式计算机或笔记本电脑
(2)MATLAB(安装了图像处理⼯具箱,即Image Processing Toolbox(IPT))
(3)典型的灰度、彩⾊图像⽂件
三、实验原理
(1)将⼀幅图像视为⼀个⼆维矩阵。
(2)利⽤MATLAB图像处理⼯具箱读、写和显⽰⽂件。
① 调⽤imread函数将图像⽂件读⼊图像数组(矩阵)。例如”I=imread(‘tire.tif’);”。其基本格式
为:“A=imread(‘filename.fmt’)”,其中,A为⼆维矩阵,filename.为⽂件名,fmt为图像⽂件格式的扩展名。
② 调⽤imwrite函数将图像矩阵写⼊图像⽂件。例如“imwrite(A,’test_image.jpg’);”。其基本格式
为“imwrite(a,filename.fmt)”。
③ 调⽤imshow函数显⽰图像。例如“imshow(‘tire.tif’);”。其基本格式为:I为图像矩阵,N为显⽰的灰度级数,默认时为256.
计算图像有关的统计参数。
四、实验内容
(1)利⽤MATLAB图像处理⼯具箱和Photoshop读、写和显⽰图像⽂件。
(2)利⽤MATLAB计算图像有关的统计参数。
五、实验步骤
(1)利⽤“读图像⽂件I/O”函数读⼊图像Italy.jpg。
(2)利⽤“读图像⽂件I/O”的iminfo函数了解图像⽂件的基本信息:主要包括filename(⽂件名)、FileModDate(⽂件修改时间)、Filesize(⽂件尺⼨)、Format(⽂件格式)、FormatVersion(格式版本)、Width(图像宽度)、Height(图像⾼度)、
BitDepth(每个像素的位深度)、ColorType(彩⾊类型)、CodingMethod(编码⽅法)等。
(3)利⽤“像素和统计处理”函数计算读⼊图像的⼆维相关系数(corr2函数)、确定像素颜⾊值(impixel函数)、确定像素的平均值(mean2函数)、显⽰像素信息(pixval函数)、计算像素的标准偏移(std2函数)等。
要求:参照例题2.1,对图像J加均值为0、⽅差为0.01的⾼斯⽩噪声形成有噪图像J1,即“J1=imnoise(J,’gaussian’,0,0.01);”,求J1的像素总个数、图像灰度的平均值、标准差、J和J1的互协⽅差和相关系数、J和K的互协⽅差和相关系数。
如果将⽅差加⾄0.1,重新计算上述统计参数。
(4)改变图像⼤⼩(imresize函数),旋转图像(imrotate函数)、对图像进⾏裁剪(imcrop函数)等,再对操作后的图像进⾏统计。要求:参照例2.1,将图像I分别放⼤和缩⼩1.5倍、旋转30°,在对操作后的图像进⾏统计。
(5)将上述不同操作后的图像⽤“读图像⽂件I/O”函数分别写⼊各⾃的图像⽂件。
六、实验程序
subplot(3,3,1);
imshow(I);
A=imfinfo('0.jpg');
J=rgb2gray(I);
subplot(3,3,2);
imshow(J);
J1=imnoise(J,'gaussian',0,0.01); subplot(3,3,3);
imshow(J1);
B=numel(J1);
ave=mean2(J1);
sd=std2(J1);
J2=im2double(J);
J3=im2double(J1);
Cfg=cov(J2,J3);
corrgfg=corr2(J2,J3);
s=size(J);
all_white=255*ones(s(1),s(2)); all_white_uint8=uint8(all_white); K=imsubtract(all_white_uint8,J); subplot(3,3,4);
imshow(K);
K1=im2double(K);
Cfg2=cov(J2,K1);
corrgfg2=corr2(J2,K1);
J4=imresize(I,0.2);
subplot(3,3,5);
imshow(J4);
J5=imrotate(I,30);
subplot(3,3,6);
imshow(J5);
RECT=[0 200 300 250];
J6=imcrop(I,RECT);
subplot(3,3,7);
imshow(J6);
imwrite(J1,'2.jpg');
imwrite(J,'3.jpg');
imwrite(K,'4.jpg');
imwrite(J4,'5.jpg');
imwrite(J5,'6.jpg');
imwrite(J6,'7.jpg');
令imnoise中设定的⽅差为0.1,运⾏结果如下:
再令imrotate的旋转⾓度为330度(即顺时针旋转30度,效果如下)
最终写⼊图像⽂件,结果如下图所⽰:
六、实验报告要求
(1)利⽤MATLAB图像处理⼯具箱读、写和显⽰⽂件,计算图像的有关统计参数的原理。(2)记录、读取加噪、⼏何变换处理后的图像及图像的统计数据
(3)列出上述图像处理的程序
(4)回答思考题
(5)撰写⼼得和体会
七、预习要求
(1)了解MATLAB图像处理⼯具箱和Photoshop的基本功能。
(2)了解图像基本指标特征的含义
⼋、思考题
(1)说明图像的统计特征对图像处理的意义。
图像的种类很多,不同图像的⽤途和处理⽅法也不相同。图像处理算法往往针对⼀定特征(如颜⾊、纹理、形状、空间关系等)的图像,因此对图像特征的分析⾄关重要。图像是典型的⼆维随机信号,其统计特征对于进⼀步处理和分析是⼗分重要的。图像的统计特征是图像的⼀类基本特征。⼀些算法也是基于图像的统计指标设计的。图像是直观的,但处理的过程常常是抽象的。通过统计分析,可以得到某个图像区别于其他图像的许多参数指标。
(2)⽐较不同图像的统计特征的差别,并分析原因。
不同图像的尺⼨、⼤⼩、颜⾊、纹理、形状等不同。
(3)讨论施加不同⽅差的噪声对图像统计参数产⽣的影响。
施加不同⽅差噪声,会改变图像的灰度平均值、协⽅差矩阵、灰度标准差。
(4)图像旋转后,图像的尺⼨是否发⽣变化?如果数据增加,多余的数据是怎样补充的?对图像统计参数会产⽣怎样的影响?
由实验结果图6可以看出,图像旋转后,尺⼨也会变化,多余数据⽤⿊⾊补充,图像的⼤⼩等发⽣变化。

本文发布于:2024-09-20 12:11:09,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/89283.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图像   统计   图像处理   函数   实验   计算   基本
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议