数字图像处理实验报告 实验三
数字图像处理实验报告

数字图像处理实验报告实验一数字图像处理编程基础一、实验目的1. 了解MATLAB图像处理工具箱;2. 掌握MATLAB的基本应用方法;3. 掌握MATLAB图像存储/图像数据类型/图像类型;4. 掌握图像文件的读/写/信息查询;5. 掌握图像显示--显示多幅图像、4种图像类型的显示方法;6. 编程实现图像类型间的转换。
二、实验内容1. 实现对图像文件的读/写/信息查询,图像显示--显示多幅图像、4种图像类型的显示方法、图像类型间的转换。
2. 运行图像处理程序,并保存处理结果图像。
三、源代码I=imread('cameraman.tif')imshow(I);subplot(221),title('图像1');imwrite('cameraman.tif')M=imread('pout.tif')imview(M)subplot(222),imshow(M);title('图像2');imread('pout.bmp')N=imread('eight.tif')imview(N)subplot(223),imshow(N);title('图像3');V=imread('circuit.tif')imview(V)subplot(224),imshow(V);title('图像4');N=imread('C:\Users\Administrator\Desktop\1.jpg')imshow(N);I=rgb2gary(GRB)[X.map]=gary2ind(N,2)RGB=ind2 rgb(X,map)[X.map]=gary2ind(I,2)I=ind2 gary(X,map)I=imread('C:\Users\dell\Desktop\111.jpg');subplot(231),imshow(I);title('原图');M=rgb2gray(I);subplot(232),imshow(M);[X,map]=gray2ind(M,100);subplot(233),imshow(X);RGB=ind2rgb(X,map);subplot(234),imshow(X);[X,map]=rbg2ind(I);subplot(235),imshow(X);四、实验效果实验二 图像几何变换实验一、实验目的1.学习几种常见的图像几何变换,并通过实验体会几何变换的效果;2.掌握图像平移、剪切、缩放、旋转、镜像等几何变换的算法原理及编程实现;3.掌握matlab 编程环境中基本的图像处理函数。
数字图像处理实验报告

数字图像处理实验报告中南⼤学数字图像处理实验报告⽬录⼀、实验⼀:数字图像基本操作及灰度调整1.实验⽬的 (1)2.实验基本原理 (1)3.实验内容与要求 (3)4. 实验具体实现 (4)⼆、实验⼆:数字图像的空间域滤波和频域滤波1.实验⽬的 (9)2.实验基本原理 (9)3.实验内容与要求 (12)4. 实验具体实现 (14)三、实验三:图像分割与边缘检测1.实验⽬的 (32)2.实验基本原理 (32)3.实验内容与要求 (34)4. 实验具体实现 (35)实验⼀:数字图像基本操作及灰度调整1.实验⽬的1) 掌握读、写图像的基本⽅法。
2) 掌握MATLAB 语⾔中图像数据与信息的读取⽅法。
3) 理解图像灰度变换处理在图像增强的作⽤。
4) 掌握绘制灰度直⽅图的⽅法,理解灰度直⽅图的灰度变换及均衡化的⽅法。
2.实验原理1. 灰度变换灰度变换是图像增强的⼀种重要⼿段,它常⽤于改变图象的灰度范围及分布,是图象数字化及图象显⽰的重要⼯具。
1) 图像反转灰度级范围为[0, L-1]的图像反转可由下式获得r L s --=12) 对数运算:有时原图的动态范围太⼤,超出某些显⽰设备的允许动态范围,如直接使⽤原图,则⼀部分细节可能丢失。
解决的⽅法是对原图进⾏灰度压缩,如对数变换:s = c log(1 + r ),c 为常数,r ≥ 03) 幂次变换:0,0,≥≥=γγc cr s4) 对⽐拉伸:在实际应⽤中,为了突出图像中感兴趣的研究对象,常常要求局部扩展拉伸某⼀范围的灰度值,或对不同范围的灰度值进⾏不同的拉伸处理,即分段线性拉伸:其对应的数学表达式为:2. 直⽅图均衡化灰度直⽅图的横坐标是灰度级,纵坐标是该灰度级出现的频度,它是图像最基本的统计特征。
依据定义,在离散形式下,⽤r k 代表离散灰度级,⽤p r (r k )代表p r (r ),并且有下式成⽴:nnr P k k r =)( 1,,2,1,010-=≤≤l k r k式中:n k 为图像中出现r k 级灰度的像素数,n 是图像像素总数,⽽n k /n 即为频数。
数字图像处理实验报告

数字图像处理实验报告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编程语言和相关库实现了图像的读取、显示、灰度化、二值化、平滑处理、边缘检测和直方图均衡化等操作。
数字图像处理实验报告

数字图像处理实验报告专业:学号:目录实验一MATLAB数字图像处理初步 (1)实验二图像的代数运算 (8)实验三图像增强—灰度变换 (16)实验四图像增强—直方图变换 (18)实验五图像增强—空域滤波 (22)实验六图像的傅立叶变换 (27)实验七图像增强—频域滤波 (32)实验八彩色图像处理 (40)实验九图像分割 (54)实验一 MATLAB数字图像处理初步一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。
5.图像间如何转化。
二、实验原理及知识点1、数字图像的表示和类别图1 图像的采样和量化根据图像数据矩阵解释方法的不同,MATLAB把其处理为4类:亮度图像(Intensity images)二值图像(Binary images)索引图像(Indexed images)RGB图像(RGB images)(1) 亮度图像(2) 二值图像(3) 索引图像(4) RGB图像三、实验内容及步骤1.利用imread( )函数读取一幅图像,假设其名为flower.tif,存入一个数组中;>> i=imread('flower.tif');2.利用whos 命令提取该读入图像flower.tif的基本信息;>>whos iName Size Bytes Class Attributesi 1x1 1 uint83.利用imshow()函数来显示这幅图像;>> imshow(i)4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;>> imfinfo ('flower.tif')ans =Filename:'C:\Program Files\MATLAB\R2011a\bin\flower.tif'FileModDate: '1-Apr-2013 08:32:36'FileSize: 286256Format: 'tif'FormatVersion: []Width: 517Height: 350BitDepth: 24ColorType: 'truecolor' FormatSignature: [73 73 42 0] ByteOrder: 'little-endian' NewSubFileType: 0 BitsPerSample: [8 8 8] Compression: 'PackBits' PhotometricInterpretation: 'RGB' StripOffsets: [70x1 double] SamplesPerPixel: 3 RowsPerStrip: 5 StripByteCounts: [70x1 double] XResolution: 96 YResolution: 96 ResolutionUnit: 'Inch' Colormap: [] PlanarConfiguration: 'Chunky' TileWidth: []TileLength: []TileOffsets: [] TileByteCounts: [] Orientation: 1FillOrder: 1 GrayResponseUnit: 0.0100 MaxSampleV alue: [255 255 255] MinSampleValue: [0 0 0] Thresholding: 1Offset: 285464ImageDescription: 'MATLAB Handle Graphics'5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
哈工大数字图像处理实验报告(共10篇)

哈工大数字图像处理实验报告(共10篇) 数字图像处理实验报告实验报告书实验类别数字图像处理学院信息工程学院专业通信工程班级通信1005班姓名叶伟超指导教师聂明新2013 年 6 月 3 日篇二:数字图像处理实验报告(全部)数字图像处理实验指导书125 200912512 班级:学号:姓名:田坤专业:电子信息科学与技术实验一数字图像的运算一.实验目的1.熟悉matlab图像处理工具箱及直方图函数的使用;2.理解和掌握直方图原理和方法;二.实验设备:1.PC机一台;2.软件matlab。
三.程序设计在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(1,2,1),imshow(I)%输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;3.浏览源程序并理解含义;4.运行,观察显示结果;5.结束运行,退出;五.实验结果:观察图像matlab环境下的直方图分布。
(a)原始图像(b)原始图像直方图六.实验报告要求1、给出实验原理过程及实现代码:I=imread('coins.png');%读取图像subplot(1,2,1),imshow(I)%输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。
数字图像处理实验报告

数字图像处理实验报告学生姓名:叶圣红学号: 20097048 专业年级: 09级电子信息工程二班实验一常用MATLAB图像处理命令一、实验内容1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。
实验结果如右图:代码如下:Subplot (1,3,1)i=imread('E:\数字图象处理.jpg')imshow(i)title('RGB')Subplot (1,3,2)j=rgb2gray(i)imshow(j)title('灰度')Subplot (1,3,3)k=im2bw(j,0.5)imshow(k)title('二值')2、对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。
实验结果如右图:代码如下:Subplot (3,2,1)i=imread('E:\数字图像处理\1.jpg')x=imresize(i,[250,320])imshow(x)title('原图x')Subplot (3,2,2)j=imread(''E:\数字图像处理\17.jpg')y=imresize(j,[250,320])imshow(y)title('原图y')Subplot (3,2,3)z=imadd(x,y)imshow(z)title('相加结果');Subplot (3,2,4);z=imsubtract(x,y);imshow(z);title('相减结果')Subplot (3,2,5);z=immultiply(x,y);imshow(z);title('相乘结果')Subplot (3,2,6);z=imdivide(x,y);imshow(z);title('相除结果')3、对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。
数字图像处理的第三次实验报告

实验报告专业:信息与计算科学班级:08级(一)班指导老师:汪太月姓名:肖浩学号:200841210140 实验室:K7-407实验名称:图像灰度修正和直方图均衡化时间:2011.4.22一、实验目的及要求(一)实验目的1、掌握图像的灰度修正技术原理和实现方法;2、掌握图像的直方图均衡化处理的方法;3、掌握图像的常用增强方法;(二)实验要求1、练习图像的灰度修正技术原理和实现方法;2、练习图像的直方图均衡化处理的方法;3、练图像的常用增强方法;二、实验设备(环境)及要求1、支持Intel Pentium Ⅲ及其以上CPU,内存256MB以上、硬盘1GB以上容量的微机;软件配有Windows98/2000/XP操作系统及MA TLAB软件;2、实验过程中,务必分析实验结果,按要求写出实验报告。
(建议同时网上提交电子版实验报告:yw6895@)三、实验内容与步骤1、练习图像的灰度修正技术原理和实现方法I=imread('cameraman.tif');subplot(121),imshow(I)subplot(122),imhist(I) %显示灰度图像的直方图运行结果如下:I=imread('circuit.tif');subplot(121),imshow(I)subplot(122),imcontour(I,3) %显示灰度图像的的等灰度值图运行结果如下:2、练习图像的直方图均衡化处理的方法I=imread('pout.tif');J=imadjust(I,[0.3 0.7],[]);subplot(121),imshow(I)subplot(122),imshow(J)figure,subplot(121),imhist(I)subplot(122),imhist(J)运行结果如下:I=imread('tire.tif');J=histeq(I);subplot(121),imshow(I);subplot(122),imshow(J);figure,subplot(121),imhist(I,64)subplot(122),imhist(I,64)3、练图像的常用增强方法例一:rgb=imread('peppers.png');h=ones(5,5)/25;rgb2=imfilter(rgb,h); %真彩色增强subplot(121),imshow(rgb)subplot(122),imshow(rgb2)运行结果如下:例二:I=imread('rice.png');J1=imnoise(I,'gaussian',0,0.02); %加入高斯噪声J2=imnoise(I,'salt & pepper',0.02); %加入椒盐噪声J3=imnoise(I,'speckle',0.02); %加入乘性噪声subplot(221),imshow(I);subplot(222),imshow(J1);subplot(223),imshow(J2);subplot(224),imshow(J3);运行结果如下:结论通过本次实验的学习了解了用matlab软件进行图像的直方图均衡化处理,以及对图像进行增强处理,由于matlab中工具箱库函数较多,因此要熟练操作并经常练习才能掌握之。
数字图像处理实验3冈萨雷斯.

实验三图像的傅里叶变换一、实验目的1、掌握二维 DFT 变换及其物理意义2、掌握二维 DFT 变换的 MATLAB 程序3、空间滤波及频域滤波二、实验内容1、利用 MATLAB 实现数字图像的傅里叶变换读入并显示图 Fig0316(3(third_from_top.tif,作该图的二维 FFT 变换 F ,将其直流分量移到频谱中心 F1,计算其实部 RR 、虚部 II ,用两种方法计算及幅值A1=abs(F1和 A2=sqrt(RR.^2+II.^2,分别显示 A1 和 A2,并加以比较。
2、近似冲击函数二维傅里叶变换A=zeros(99,99; A(49:51,49:51=1;作 A 的二维傅里叶变换 B ,将 B 直流分量移到频谱中心 B1,分别用函数imshow 和 mesh 显示 A 和 B1 模的对数(log(1+abs(B1)频域图像空域图像10.81086 4 20.60.4 0.2 0 50 40 30 20 10 10 20 30 40 50 0 50 40 30 20 10 20 3040500 00 0103、空间滤波与频域滤波将图 Fig0504(a(gaussian-noise.tif(f )分别进行空间与频域滤波。
空间滤波:用 fspecial 产生 9*9,标准差为 2 的高斯滤波器 w ,用函数 imfilter 对 f 进行空间滤波,得到滤波后的图像 fi1。
频域滤波将上述高斯滤波器 w 用函数 freqz2 获得其 256*256 频域形式 W ,用 W 在频域滤波图像 f (注意 W 的直流分量在频谱中心),得到 Ff ,求其傅里叶逆变换(ifft2),得到滤波后的图像 fi2。
用函数 imshow 显示 w ,用函数 mesh 显示 W ,用 imshow 显示 f ,fi1,Ff 的模的对数,fi2。
比较 fi1 与 fi2。
1 0.80.60.40.2 0 60三、实验要求在屏幕上显示出各个图像。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字图像处理实验报告
实验三
一、实验目的
1、掌握二维DFT 变换及其物理意义
2、掌握二维DFT 变换的MATLAB 程序
3、空间滤波及频域滤波
二、实验内容
1、利用MATLAB 实现数字图像的傅里叶变换
(1)实验内容
读入并显示图Fig0316(3)(third_from_top).tif,作该图的二维FFT 变换F,将其直流分量移到频谱中心F1,计算其实部RR、虚部II,用两种方法计算及幅值
A1=abs(F1)和A2=sqrt(RR.^2+II.^2),分别显示A1 和A2,并加以比较。
(2)程序代码
clear all;
f=imread('Fig0316(3)(third_from_top).tif');
imshow(f);title('图1.1 原图');
F=fft2(f);
F1=fftshift(F);
RR=real(F1);
II=imag(F1);
A1=abs(F1);
figure;
imshow(log(1+A1),[]);title('图1.2 频谱幅值A1');
A2=sqrt(RR.^2+II.^2);
figure;
imshow(log(1+A2),[]);title('图1.3 频谱幅值A2');
(3)程序运行结果
图1.1 原图
图1.2 频谱幅值A1
图1.3 频谱幅值A2
2、近似冲击函数二维傅里叶变换
(1)实验内容
A=zeros(99,99);
A(49:51,49:51)=1;
作A 的二维傅里叶变换B,将B 直流分量移到频谱中心B1,分别用函数imshow 和mesh 显示A 和B1 模的对数(log(1+abs(B1)))
(2)程序代码
clear all;
A=zeros(99,99);
A(49:51,49:51)=1;
B=fft2(A);
B1=fftshift(B);
imshow(A);title('图2.1 空域图形(imshow)');
figure;
imshow(log(1+abs(B1)));title('图2.2 频域图形(imshow)');
figure;
mesh(A);title('图2.3 空域图形(mesh)');
figure;
mesh(log(1+abs(B1)));title('图2.4 频域图形(mesh)');
(3)程序运行结果
图2.1 空域图形
(imshow)图2.2 频域图形(imshow)
图2.3 空域图形(mesh)
图2.4 频域图形(mesh)
3、空间滤波与频域滤波
(1)实验内容
将图Fig0504(a)(gaussian-noise).tif(f)分别进行空间与频域滤波。
空间滤波:
用fspecial 产生9*9,标准差为2 的高斯滤波器w,用函数imfilter 对f 进行空间滤波,得到滤波后的图像fi1。
频域滤波
将上述高斯滤波器w 用函数freqz2 获得其256*256 频域形式W,用W 在频域滤波图像f(注意W 的直流分量在频谱中心),得到Ff,求其傅里叶逆变换(ifft2),得到滤波后的图像fi2。
用函数imshow 显示w,用函数mesh 显示W,用imshow 显示f,fi1,Ff 的模的对数,fi2。
比较fi1 与fi2。
(2)程序脚本
clear all;
w=fspecial('gaussian',[9 9],2);%产生滤波器w
figure;
imshow(w);title('图3.1 滤波器空域图形');
W=freqz2(w,256,256);
W1=ifftshift(W);
figure;
mesh(W);title('图3.2 滤波器的频域图形');
f=imread('Fig0504(a)(gaussian-noise).tif');
F=fft2(f);
figure;
imshow(f);title('图3.3 f模的对数');
fi1=imfilter(f,w);%空间滤波
figure;
imshow(fi1);title('图3.4 空间滤波后的图形fi1');
Ff=W1.*F;
figure;
imshow(log(abs(Ff)),[]);title('图3.5 频域滤波Ff模的对数'); fi2=real(ifft2(Ff));
fi2=fi2(1:256,1:256);
figure;
imshow(fi2,[]);title('图3.6 频域滤波后的图形fi2');
(3)程序运行结果
图3.1 滤波器空域图形
由于图片太大无法直接用MATLAB中的copy figure,该图为截图。
图3.3 f模的对数
图3.4 空间滤波后的图形fi1
图3.5 频域滤波Ff模的对数
图3.6 频域滤波后的图形fi2。