数字图像处理实验一图像的基本操作和基本统计指标计算实验报告
数字图像处理实验报告

细的边缘可能会忽略。Laplace算子在边缘检测时它的锐化模板能锐化图像。
实验一灰度图像直方图统计
一、实验目的
掌握灰度图像直方图的概念和计算方法,了解直方图的作用和用途。提高学生编程能力,巩固所学知识。
二、实验内容和要求
(1)用Photoshop显示、了解图像平均明暗度和对比度等信息;
(2)用MatLab读取和显示一幅灰度图像;
(3)用MatLab编写直方图统计的程序。
三、实验步骤
end
end
end
end
figure(300);
plot(His_Image);
title('图像的灰度直方图');
4.显示图像的灰度直方图。
四、思考题
1)直方图可以反映图像的哪些特性?
灰度直方图只能反映图像的灰度分布情况,不能反映图像的像素位置;一幅图像对应唯一的灰度直方图。
2)如何使直方图曲线光滑?如何识别直方图的峰和谷?
使用“滤镜→风格化”的“查找边缘”,“等高线”等可以提取图像的边缘,改变参数,提取图像的最佳边缘。
原始图像
查找边缘
等高线法
四、思考题
1)通过实习,中值滤波和均匀平滑在去图像噪声上各有什么特点,试比较两种方法异同。
中值滤波的特点是它对图像噪声的抑制效果好,在抑制图像噪声的同时能有效保护边缘少受模糊。均匀平滑的特点是让图像噪声柔和一点,也更加模糊。两种方法都对图像噪声有很好抑制效果好,但是中值滤波是保护图像边缘的同时去除噪声,中值滤波容易去除孤立点、线的噪声同时保持图象的边缘,但对高斯噪声无能为力。均匀平滑的思想是通过将一点和周围8个点作平均,从而去除突然变化的点,滤掉噪声,其代价是图象有一定程度的模糊。
数字图像处理实验报告

数字图像处理实验报告1. 引言数字图像处理是使用计算机来处理和优化图像的一种技术。
在本实验中,我们将探索几种常见的数字图像处理方法,并使用Python编程语言和相关库来实现。
2. 实验目的本实验的主要目的是:1.了解图像的基本特性和数字图像处理的基本原理;2.熟悉Python编程语言和相关图像处理库的使用;3.实现常见的图像处理算法并进行实验验证。
3. 实验方法在本实验中,我们使用Python编程语言和以下相关库来实现图像处理算法:•OpenCV:用于图像读取、显示和保存等基本操作;•Numpy:用于图像数据的处理和算术运算;•Matplotlib:用于图像的可视化和结果展示。
以下是实验涉及到的图像处理方法和步骤:1.图像读取和显示:使用OpenCV库读取图像,使用Matplotlib库显示图像;2.图像的灰度化:将彩色图像转换为灰度图像;3.图像的二值化:将灰度图像转换为黑白二值图像;4.图像的平滑处理:使用平滑滤波器对图像进行平滑处理,如均值滤波和高斯滤波;5.图像的边缘检测:使用边缘检测算法对图像进行边缘检测,如Sobel算子和Canny算子;6.图像的直方图均衡化:对灰度图像进行直方图均衡化,增强图像的对比度。
4. 实验过程和结果4.1 图像读取和显示首先,我们使用OpenCV库读取一张图像,并使用Matplotlib库显示该图像:import cv2import matplotlib.pyplot as plt# 读取图像img = cv2.imread('image.jpg')# 显示图像plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) plt.axis('off')plt.show()4.2 图像的灰度化接下来,我们将彩色图像转换为灰度图像:# 灰度化图像gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 显示灰度图像plt.imshow(gray_img, cmap='gray')plt.axis('off')plt.show()4.3 图像的二值化然后,我们将灰度图像转换为黑白二值图像:# 二值化图像_, binary_img = cv2.threshold(gray_img, 128, 255, cv2.THRESH_BINARY)# 显示二值图像plt.imshow(binary_img, cmap='gray')plt.axis('off')plt.show()4.4 图像的平滑处理接下来,我们使用平滑滤波器对图像进行平滑处理,例如使用5x5的均值滤波器和高斯滤波器:# 均值滤波mean_img = cv2.blur(img, (5, 5))# 高斯滤波gaussian_img = cv2.GaussianBlur(img, (5, 5), 0) # 显示平滑处理后的图像plt.figure(figsize=(10, 5))plt.subplot(121)plt.imshow(cv2.cvtColor(mean_img, cv2.COLOR_BGR2R GB))plt.title('Mean Filter')plt.axis('off')plt.subplot(122)plt.imshow(cv2.cvtColor(gaussian_img, cv2.COLOR_B GR2RGB))plt.title('Gaussian Filter')plt.axis('off')plt.show()4.5 图像的边缘检测然后,我们使用边缘检测算法对图像进行边缘检测,例如使用Sobel算子和Canny算子:# 边缘检测sobel_img = cv2.Sobel(gray_img, cv2.CV_8U, 1, 1, ksize=3)canny_img = cv2.Canny(gray_img, 50, 150)# 显示边缘检测结果plt.figure(figsize=(10, 5))plt.subplot(121)plt.imshow(sobel_img, cmap='gray')plt.title('Sobel Operator')plt.axis('off')plt.subplot(122)plt.imshow(canny_img, cmap='gray')plt.title('Canny Operator')plt.axis('off')plt.show()4.6 图像的直方图均衡化最后,我们对灰度图像进行直方图均衡化,以增强图像的对比度:# 直方图均衡化equalized_img = cv2.equalizeHist(gray_img)# 显示直方图均衡化结果plt.imshow(equalized_img, cmap='gray')plt.axis('off')plt.show()5. 实验总结通过本实验,我们熟悉了数字图像处理的基本方法和步骤,并使用Python编程语言和相关库实现了图像的读取、显示、灰度化、二值化、平滑处理、边缘检测和直方图均衡化等操作。
数字图像处理实验报告

数字图像处理实验报告数字图像处理实验报告(一)实验目的1.理解数字图像处理的基本概念与原理。
2.掌握数字图像处理的基本方法。
3.掌握常用数字滤波器的性质和使用方法。
4.熟练应用数字图像处理软件进行图像处理。
实验器材计算机、MATLAB软件实验内容1.图像的读写与显示首先,我们需要在MATLAB中读入一幅图像,并进行显示。
% 导入图像文件I = imread('myimage.jpg');% 显示图像imshow(I);2.图像的分辨率与色彩空间转换数字图像处理中的一个重要概念是图像的分辨率,通常用像素数量表示。
图像的分辨率越高,代表着图像包含更多的像素,从而更具细节和清晰度。
在数字图像处理中,常常需要将一幅图像从一种色彩空间转换为另一种色彩空间。
RGB色彩空间是最常见的图像色彩空间之一,并且常常作为其他色彩空间的基础。
% 转换图像色彩空间J = rgb2gray(I);% 显示转换后的图像imshow(J);3.图像的增强与滤波图像的增强通常指的是对图像的对比度、亮度和清晰度等方面进行调整,以改善图像的质量和可读性。
数字图像处理中的滤波是一种常用的图像增强方法。
滤波器是一个能够对图像进行局部操作的矩阵,它能够提取或抑制特定的图像特征。
% 对图像进行平滑滤波K = imgaussfilt(J, 1);% 显示滤波后的图像imshow(K);4.数字图像处理在实际应用中的例子数字图像处理在很多实际应用中被广泛应用。
这些应用包括医疗成像、计算机视觉、人脸识别、安防监控等。
下面是数字图像处理在人脸识别应用中的一个简单例子。
% 导入图像文件I = imread('face.jpg');% 进行人脸检测faceDetector = vision.CascadeObjectDetector;bbox = step(faceDetector, I);% 在图像上标记人脸位置IFaces = insertObjectAnnotation(I, 'rectangle', bbox, 'Face');imshow(IFaces);实验结论通过本次实验,我已经能够理解数字图像处理的基本概念与原理,掌握数字图像处理的基本方法,熟练应用数字图像处理软件进行图像处理。
数字图像处理实验报告

目录实验一:数字图像的基本处理操作 (4):实验目的 (4):实验任务和要求 (4):实验步骤和结果 (5):结果分析 (8)实验二:图像的灰度变换和直方图变换 (9):实验目的 (9):实验任务和要求 (9):实验步骤和结果 (9):结果分析 (13)实验三:图像的平滑处理 (14):实验目的 (14):实验任务和要求 (14):实验步骤和结果 (14):结果分析 (18)实验四:图像的锐化处理 (19):实验目的 (19):实验任务和要求 (19):实验步骤和结果 (19):结果分析 (21)实验一:数字图像的基本处理操作:实验目的1、熟悉并掌握MATLAB、PHOTOSHOP等工具的使用;2、实现图像的读取、显示、代数运算和简单变换。
3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。
:实验任务和要求1.读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。
2.对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。
3.对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。
4.对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的对应关系。
:实验步骤和结果1.对实验任务1的实现代码如下:a=imread('d:\');i=rgb2gray(a);I=im2bw(a,;subplot(1,3,1);imshow(a);title('原图像');subplot(1,3,2);imshow(i);title('灰度图像');subplot(1,3,3);imshow(I);title('二值图像');subplot(1,3,1);imshow(a);title('原图像');结果如图所示:图原图及其灰度图像,二值图像2.对实验任务2的实现代码如下:a=imread('d:\');A=imresize(a,[800 800]);b=imread('d:\');B=imresize(b,[800 800]);Z1=imadd(A,B);Z2=imsubtract(A,B);Z3=immultiply(A,B);Z4=imdivide(A,B);subplot(3,2,1);imshow(A);title('原图像 A'); subplot(3,2,2);imshow(B);title('原图像 B'); subplot(3,2,3);imshow(Z1);title('加法图像'); subplot(3,2,4);imshow(Z2);title('减法图像'); subplot(3,2,5);imshow(Z3);title('乘法图像'); subplot(3,2,6);imshow(Z2);title('除法图像');结果如图所示:3.对实验任务3的实现代码如下:s=imread('d:\');i=rgb2gray(s);i=double(i);j=fft2(i);k=fftshift(j); %直流分量移到频谱中心I=log(abs(k)); %对数变换m=fftshift(j); %直流分量移到频谱中心RR=real(m); %取傅里叶变换的实部II=imag(m); %取傅里叶变换的虚部A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A)))*255;b=circshift(s,[800 450]);b=rgb2gray(b);b=double(b);c=fft2(b);e=fftshift(c);I=log(abs(e));f=fftshift(c);WW=real(f);ZZ=imag(f);B=sqrt(WW.^2+ZZ.^2);B=(B-min(min(B)))/(max(max(B)))*255;subplot(2,2,1);imshow(s);title('原图像');subplot(2,2,2);imshow(uint8(b));title('平移图像');subplot(2,2,3);imshow(A);title('离散傅里叶变换频谱');subplot(2,2,4);imshow(B);title('平移图像离散傅里叶变换频谱');结果如图所示:4.对实验任务4的实现代码如下:s=imread('d:\');i=rgb2gray(s);i=double(i);j=fft2(i);k=fftshift(j);I=log(abs(k));m=fftshift(j);RR=real(m);II=imag(m);A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A)))*255;b=imrotate(s,-90);b=rgb2gray(b);b=double(b);c=fft2(b);e=fftshift(c);I=log(abs(e));f=fftshift(c);WW=real(f);ZZ=imag(f);B=sqrt(WW.^2+ZZ.^2);B=(B-min(min(B)))/(max(max(B)))*255;subplot(2,2,1);imshow(s);title('原图像');subplot(2,2,2);imshow(uint8(b));title('平移图像');subplot(2,2,3);imshow(A);title('离散傅里叶频谱');subplot(2,2,4);imshow(B);title('平移图像离散傅里叶频谱');结果如图所示::结果分析对MATLAB软件的操作开始时不太熟悉,许多语法和函数都不会使用,写出程序后,调试运行,最开始无法显示图像,检查原因,是有些标点符号没有在英文状态下输入和一些其他的细节,学会了imread(),imshow(),rgb2gray()等函数。
《数字图像处理》实验报告

《数字图像处理》实验报告数字图像处理是一门将图像进行数字化处理的学科,它通过计算机算法和技术手段对图像进行分析、增强、压缩和重建等操作。
在本次实验中,我们学习了数字图像处理的基本概念和常用算法,并通过实验来探索其应用和效果。
首先,我们进行了图像的读取和显示实验。
通过使用Python中的OpenCV库,我们能够轻松地读取图像文件,并将其显示在屏幕上。
这为我们后续的实验奠定了基础。
同时,我们还学习了图像的像素表示方法,了解了图像由像素点组成的原理。
这使我们能够更好地理解后续实验中的算法和操作。
接下来,我们进行了图像的灰度化实验。
灰度化是将彩色图像转换为灰度图像的过程。
在实验中,我们使用了不同的算法来实现灰度化操作,包括平均值法、最大值法和加权平均法等。
通过比较不同算法得到的灰度图像,我们发现不同算法对图像的处理效果有所差异,这使我们深入理解了灰度化的原理和应用。
随后,我们进行了图像的直方图均衡化实验。
直方图均衡化是一种用于增强图像对比度的方法。
在实验中,我们使用了直方图均衡化算法来对图像进行处理,并观察了处理前后的效果变化。
通过实验,我们发现直方图均衡化能够显著提高图像的对比度,使图像更加清晰和鲜明。
在进一步探索图像处理技术的过程中,我们进行了图像的滤波实验。
滤波是一种常用的图像处理操作,它通过对图像进行卷积操作来实现。
在实验中,我们学习了不同类型的滤波器,包括均值滤波器、高斯滤波器和中值滤波器等。
通过比较不同滤波器对图像的处理效果,我们发现每种滤波器都有其适用的场景和效果。
此外,我们还进行了图像的边缘检测实验。
边缘检测是一种用于提取图像边缘信息的方法。
在实验中,我们学习了不同的边缘检测算法,包括Sobel算子、Canny算子和Laplacian算子等。
通过比较不同算法对图像的处理效果,我们发现每种算法都有其独特的特点和应用。
最后,我们进行了图像的压缩实验。
图像压缩是一种将图像数据进行压缩以减小文件大小的方法。
数字图像处理实验报告(完整版)

数字图像处理实验报告(完整版)数字图像处理实验⼀ MATLAB数字图像处理初步⼀、显⽰图像1.利⽤imread( )函数读取⼀幅图像,假设其名为lily.tif,存⼊⼀个数组中;2.利⽤whos 命令提取该读⼊图像flower.tif的基本信息;3.利⽤imshow()函数来显⽰这幅图像;实验结果如下图:源代码:>>I=imread('lily.tif')>> whos I>> imshow(I)⼆、压缩图像4.利⽤imfinfo函数来获取图像⽂件的压缩,颜⾊等等其他的详细信息;5.利⽤imwrite()函数来压缩这幅图象,将其保存为⼀幅压缩了像素的jpg⽂件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
6.同样利⽤imwrite()函数将最初读⼊的tif图象另存为⼀幅bmp图像,设为flily.bmp。
7.⽤imread()读⼊图像Sunset.jpg和Winter.jpg;8.⽤imfinfo()获取图像Sunset.jpg和Winter.jpg的⼤⼩;9.⽤figure,imshow()分别将Sunset.jpg和Winter.jpg显⽰出来,观察两幅图像的质量。
其中9的实验结果如下图:源代码:4~6(接上⾯两个) >>I=imread('lily.tif')>> imfinfo 'lily.tif';>> imwrite(I,'lily.jpg','quality',20);>> imwrite(I,'lily.bmp');7~9 >>I=imread('Sunset.jpg');>>J=imread('Winter.jpg')>>imfinfo 'Sunset.jpg'>> imfinfo 'Winter.jpg'>>figure(1),imshow('Sunset.jpg')>>figure(2),imshow('Winter.jpg')三、⼆值化图像10.⽤im2bw将⼀幅灰度图像转化为⼆值图像,并且⽤imshow显⽰出来观察图像的特征。
实验一 计算图像的基本统计指标

实验一计算图像的基本统计指标一,目的a)熟悉MATLAB图像处理工具箱的使用方法。
b)了解计算机图像的统计指标的方法及其在图像处理中的意义。
二,实验条件a)微型计算机:INTEL 奔腾及更高。
b)MATLABc)典型的灰度、彩色图像文件。
三,原理a)可以将一副图像视为一个二维矩阵,因此用MATLAB处理图像是十分方便的。
b)利用MATLAB图像处理工具读、写和显示图像文件。
c)计算图像的有关统计参数。
四,实验内容a)数字图像输入/输出命令(函数)输入命令:A=imread(filename,fmt)A为二维数组,filename为文件名,ftm为图像文件格式的扩展名。
输出命令:A=imwrite(a,filename,fmt)b)计算统计指标i.图像的大小,调用函数:S=size(A)ii.图像灰度平均值,调用函数:ave=mean2(A)iii.协方差矩阵,调用函数:Cfg=cov(f,g),计算图像f和图像g的协方差矩阵。
1.将三维图像转换为二维的灰度图2.将uint8类型强制转换为double类型,具体命令为:Cfg=cov(double(f),double(g))iv.图像的灰度标准差,调用函数:SD=std2(A)。
v.图像的相关系数,调用函数:rfg=corr2(f,g),可以计算大小相等的两幅图像f和g的相关系数。
五,步骤1.计算图像的有关参数a)调用imread函数将图像矩阵写入图像文件I=imread(‘wdz.jpg’)Subplot(2,2,1);imshow(I) //将多个子图放在一个图上b)将图像转换为灰度图像J=rgb2gray(I)Subplot(2,2,2);imshow(I)c)计算图像统计参数指标Ave=mean2(J) %图像平均灰度计算SD=std2(double(J)) %图像的灰度标准差计算s=size(J);all_white=255*ones(s(1),s(2)); %设置全部为白色灰度255all_white_uint8=uint8(all_white); %将double类型矩阵转换为unit8类型矩阵K=imsubtract(all_white_unit8,J); %图像相减的反白图像Kd)显示处理的结果并保存subplot(2,2,3);imshow(K);imwrite(K,’wdz_inverse.jpg’)2.协方差矩阵的计算a) 读取两张大小相同的图像I=imread('1.jpg')P=imread('2.jpg')b)将图像转换为灰度图像I=rgb2gray(I)P=rgb2gray(P)c)调用函数Cfg=cov(I,K),计算图像I,P的协方差矩阵。
计算机图像处理实验报告(数字图像处理基本操作)

课程名称:计算机图像处理实验名称:实验一数字图像处理基本操作一、实验目的(1)掌握MATLAB软件的运用,熟练掌握建立、保存、运行、调试m文件的方法。
(2)了解MATLAB软件中图像处理工具箱的使用方法。
(3)熟练掌握图像文件(黑白、灰度、索引色和彩色图像)的读取及显示方法。
(4)熟悉常用的图像文件格式和格式转换。
二、实验内容(包括源程序和程序运行结果)(1)编写matlab程序对灰度图像pout.tif、索引图像canoe.tif、真彩色图像peppers.png实现读取、显示和保存。
源程序:clearclcI=imread('pout.tif');subplot(131),imshow(I),title('灰度图像');[I1,map]=imread('canoe.tif');I2=ind2rgb(I1,map);subplot(132),imshow(I2),title('索引图像');I3=imread('peppers.png');subplot(133),imshow(I3),title('真彩色图像')imwrite(I,'newpout.bmp');imwrite(I2,'newcano.bmp');imwrite(I3,'newpeppers.bmp');程序运行结果:(2)matlab图像文件夹中的mri.mat是一个包含27帧、图像尺寸为128*128的多帧索引图像。
编写matlab程序对请将前20帧图像顺序读入到一个数组中并显示出来,转换成影像显示。
源程序:clearclcload mri;figure;subplot(4,5,1),imshow(D(:,:,:,1));subplot(4,5,2),imshow(D(:,:,:,2));subplot(4,5,3),imshow(D(:,:,:,3));subplot(4,5,4),imshow(D(:,:,:,4));subplot(4,5,5),imshow(D(:,:,:,5));subplot(4,5,6),imshow(D(:,:,:,6));subplot(4,5,7),imshow(D(:,:,:,7));subplot(4,5,8),imshow(D(:,:,:,8));subplot(4,5,9),imshow(D(:,:,:,9));subplot(4,5,10),imshow(D(:,:,:,10));subplot(4,5,11),imshow(D(:,:,:,11));subplot(4,5 ,12), imshow(D(:,:,:,12));subplot(4,5,13),imshow(D(:,:,:,13));subplot(4,5,14),imshow(D(:,:,:,14));subplot(4,5 ,15), imshow(D(:,:,:,15));subplot(4,5,16),imshow(D(:,:,:,16));subplot(4,5,17),imshow(D(:,:,:,17));subplot(4,5 ,18), imshow(D(:,:,:,18));subplot(4,5,19),imshow(D(:,:,:,19));subplot(4,5,20),imshow(D(:,:,:,20));mov=immovie(D,map);implay(mov)程序运行结果:(3)通过图像点运算减弱图像pout.tif的对比度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一图像的基本操作和基本统计指标计算
一、实验目的
熟悉MATLAB图像处理工具箱,在掌握MATLAB基本操作的基础上,本课程主要依靠图像处理工具箱验证和设计图像处理算法。
对于初学者来说,勤学多练、熟悉MATLAB图像处理工具箱也是学号本课程的必经之路。
了解计算图像的统计指标的方法及其在图像处理中的意义。
了解图像的几何操作,如改变图像大小、剪切、旋转等。
二、实验主要仪器设备
(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。
(3)计算图像有关的统计参数。
四、实验内容
(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('Italy.jpg');
subplot(3,3,1);
imshow(I);
A=imfinfo('Italy.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,'J1.rpg');
imwrite(J,'J.rpg');
imwrite(K,'K.rpg');
imwrite(J4,'J4.rpg');
imwrite(J5,'J5.rpg');
imwrite(J6,'J6.rpg');
七、实验结果
八、思考
(1)说明图像的统计特征对图像处理的意义。
图像的种类很多,不同图像的用途和处理方法也不相同。
图像处理算法往往针对一定特征(如颜色、纹理、形状、空间关系等)的图像,因此对图像特征的分析至关重要。
图像是典型的二维随机信号,其统计特征对于进一步处理和分析是十分重要的。
图像的统计特征是图像的一类基本特征。
一些算法也是基于图像的统计指标设计的。
图像是直观的,但处理的过程常常是抽象的。
通过统计分析,可以得到某个图像区别于其他图像的许多参数指标。
(2)比较不同图像的统计特征的差别,并分析原因。
不同图像的尺寸、大小、颜色、纹理、形状等不同。
(3)讨论施加不同方差的噪声,对图像统计参数产生的影响。
施加不同方差的噪声,会改变图像的灰度平均值,协方差矩阵,灰度标准差。
(4)图像旋转后,图像的尺寸是否发生变化?如果数据增加,多余的数据是怎样补充的?对图像的统计参数会产生怎样的影响?
由实验结果图6可以看出,图像旋转后,尺寸也会变化,多余数据用黑色补充,图像的大小等发生变化。