ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-01-02 15:31:47  阅读:219  来源: 互联网

标签:数字图像处理 imshow J1 jpg 图像处理 MATLAB 图像 基本操作


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

前言

为了帮助同学们完成痛苦的实验课程设计,本作者将其作出的实验结果及代码贴至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”函数分别写入各自的图像文件。

六、实验程序

I=imread('0.jpg');
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可以看出,图像旋转后,尺寸也会变化,多余数据用黑色补充,图像的大小等发生变化。

标签:数字图像处理,imshow,J1,jpg,图像处理,MATLAB,图像,基本操作
来源: https://blog.csdn.net/sjx3161/article/details/122276811

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有