数字图像处理实验
数字图像处理实验报告
数字图像处理实验报告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);实验结论通过本次实验,我已经能够理解数字图像处理的基本概念与原理,掌握数字图像处理的基本方法,熟练应用数字图像处理软件进行图像处理。
《数字图像处理》实验报告
《数字图像处理》实验报告数字图像处理是一门将图像进行数字化处理的学科,它通过计算机算法和技术手段对图像进行分析、增强、压缩和重建等操作。
在本次实验中,我们学习了数字图像处理的基本概念和常用算法,并通过实验来探索其应用和效果。
首先,我们进行了图像的读取和显示实验。
通过使用Python中的OpenCV库,我们能够轻松地读取图像文件,并将其显示在屏幕上。
这为我们后续的实验奠定了基础。
同时,我们还学习了图像的像素表示方法,了解了图像由像素点组成的原理。
这使我们能够更好地理解后续实验中的算法和操作。
接下来,我们进行了图像的灰度化实验。
灰度化是将彩色图像转换为灰度图像的过程。
在实验中,我们使用了不同的算法来实现灰度化操作,包括平均值法、最大值法和加权平均法等。
通过比较不同算法得到的灰度图像,我们发现不同算法对图像的处理效果有所差异,这使我们深入理解了灰度化的原理和应用。
随后,我们进行了图像的直方图均衡化实验。
直方图均衡化是一种用于增强图像对比度的方法。
在实验中,我们使用了直方图均衡化算法来对图像进行处理,并观察了处理前后的效果变化。
通过实验,我们发现直方图均衡化能够显著提高图像的对比度,使图像更加清晰和鲜明。
在进一步探索图像处理技术的过程中,我们进行了图像的滤波实验。
滤波是一种常用的图像处理操作,它通过对图像进行卷积操作来实现。
在实验中,我们学习了不同类型的滤波器,包括均值滤波器、高斯滤波器和中值滤波器等。
通过比较不同滤波器对图像的处理效果,我们发现每种滤波器都有其适用的场景和效果。
此外,我们还进行了图像的边缘检测实验。
边缘检测是一种用于提取图像边缘信息的方法。
在实验中,我们学习了不同的边缘检测算法,包括Sobel算子、Canny算子和Laplacian算子等。
通过比较不同算法对图像的处理效果,我们发现每种算法都有其独特的特点和应用。
最后,我们进行了图像的压缩实验。
图像压缩是一种将图像数据进行压缩以减小文件大小的方法。
《数字图像处理》实验教案
《数字图像处理》实验教案一、实验目的与要求1. 实验目的(1)理解数字图像处理的基本概念和原理;(2)掌握常用数字图像处理算法和技巧;(3)培养实际操作能力和动手能力,提高解决实际问题的能力。
2. 实验要求(1)熟悉实验环境和相关软件;(2)了解实验原理和流程;二、实验环境与工具1. 实验环境(1)计算机操作系统:Windows 10/Linux/macOS;(2)编程语言:MATLAB/Python/C++等;(3)图像处理软件:Photoshop/OpenCV等。
2. 实验工具(1)编程环境:MATLAB/Python/C++开发工具;(2)图像处理软件:Photoshop/OpenCV;(3)实验教材和参考资料。
三、实验内容与步骤1. 实验一:图像读取与显示(1)打开图像处理软件,导入一幅图像;(2)了解图像的基本信息,如像素大小、分辨率等;(3)将图像显示在界面上,进行观察和分析。
2. 实验二:图像基本运算(1)对图像进行灰度化处理;(2)进行图像的直方图均衡化;(3)实现图像的滤波处理,如高斯滤波、中值滤波等。
3. 实验三:边缘检测(1)实现Sobel边缘检测算法;(2)实现Canny边缘检测算法;(3)分析不同边缘检测算法的效果和特点。
4. 实验四:图像分割(1)利用阈值分割法对图像进行分割;(2)利用区域生长法对图像进行分割;(3)分析不同图像分割算法的效果和特点。
5. 实验五:特征提取与匹配(1)提取图像的关键点,如角点、边缘点等;(2)利用特征匹配算法,如SIFT、SURF等,进行图像配准;(3)分析不同特征提取与匹配算法的效果和特点。
四、实验注意事项1. 严格遵循实验要求和步骤,确保实验的正确性;2. 注意实验环境和工具的使用,防止计算机和设备的损坏;3. 尊重知识产权,不得抄袭和剽窃他人成果;4. 实验过程中遇到问题,应及时请教老师和同学。
五、实验报告要求1. 报告内容:实验目的、实验环境、实验内容、实验步骤、实验结果及分析;2. 报告格式:文字描述清晰,条理分明,公式和图像正确无误;3. 报告篇幅:不少于2000字;4. 提交时间:实验结束后一周内。
数字图像处理 实验报告(完整版)【精选文档】
数字图像处理实验一 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。
数字图像处理实验
数字图像处理实验实验总学时:10学时实验目的:本实验的目的是通过实验进一步理解和掌握数字图像处理原理和方法。
通过分析、实现现有的图像处理算法,学习和掌握常用的图像处理技术。
实验内容:数字图像处理的实验内容主要有三个方面:(1) 对图像灰度作某种变换,增强其中的有用信息,抑制无用信息,使图像的视在质量提高,以便于人眼观察、理解或用计算机对其作进一步的处理。
(2) 用某种特殊手段提取、描述和分析图像中所包含的某些特征和特殊的信息,主要的目的是便于计算机对图像作进一步的分析和理解,经常作为模式识别和计算机视觉的预处理。
这些特征包括很多方面,例如,图像的频域特性、灰度特征、边界特征等。
(3) 图像的变换,以便于图像的频域处理。
实验一图像的点处理实验内容及实验原理:1、灰度的线性变换灰度的线性变换就是将图像中所有的点的灰度按照线性灰度变换函数进行变换。
该线性灰度变换函数是一个一维线性函数:灰度变换方程为:其中参数为线性函数的斜率,函数的在y轴的截距,表示输入图像的灰度,表示输出图像的灰度。
要求:输入一幅图像,根据输入的斜率和截距进行线性变换,并显示。
2、灰度拉伸灰度拉伸和灰度线性变换相似。
不同之处在于它是分段线性变换。
表达如下:其中,(x1,y1)和(x2,y2)是分段函数的转折点。
要求:输入一幅图像,根据选择的转折点,进行灰度拉伸,显示变换后的图像。
3、灰度直方图灰度直方图是灰度值的函数,描述的是图像中具有该灰度值的像素的个数,其横坐标表示像素的灰度级别,纵坐标表示该灰度出现的频率(象素的个数)。
要求:输入一幅图像,显示它的灰度直方图,可以根据输入的参数(上限、下限)显示特定范围的灰度直方图。
4、直方图均衡:要求1 显示一幅图像pout.bmp的直方图;2 用直方图均衡对图像pout.bmp进行增强;3 显示增强后的图像。
实验二:数字图像的平滑实验内容及实验原理:1.用均值滤波器(即邻域平均法)去除图像中的噪声;2.用中值滤波器去除图像中的噪声3. 比较两种方法的处理结果 实验步骤:用原始图象lena.bmp 或cameraman.bmp 加产生的3%椒盐噪声图象合成一幅有噪声的图象并显示;1. 用均值滤波器去除图像中的噪声(选3x3窗口);2. f (x 0,y 0)=Med {f (x,y )∨x ∈[x 0−N,x 0+N ],y ∈[y 0−N,y 0+N ]}用中值滤波器去除图像中的噪声(选3x3窗口做中值滤波);3. 将两种处理方法的结果与原图比较,注意两种处理方法对边缘的影响。
数字图像处理实验报告(五个实验全)
数字图像处理实验报告(五个实验全)实验⼀ Matlab图像⼯具的使⽤1、读图I=imread('lena.jpg');imshow(I);2、读⼊⼀幅RGB图像,变换为灰度图像和⼆值图像,并在同⼀个窗⼝内分成三个⼦窗⼝来分别显⽰RGB图像和灰度图像。
a=imread('lena.jpg')i = rgb2gray(a)I = im2bw(a,0.5)subplot(3,1,1);imshow(a);subplot(3,1,2);imshow(i);subplot(3,1,3);imshow(I);原图像灰度图像⼆值图像实验⼆图像变换1、对⼀幅图像进⾏平移,显⽰原始图像与处理后图像,分别对其进⾏傅⾥叶变换,显⽰变换后结果,分析原图的傅⾥叶谱与平移后傅⾥叶频谱的对应关系。
s=imread('beauty.jpg');i=rgb2gray(s)i=double(i)j=fft2(i);k=fftshift(j); 原图像原图的傅⾥叶频谱l=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);l=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);subplot(2,2,2);imshow(uint8(b));subplot(2,2,3);imshow(A);subplot(2,2,4);imshow(B);2、对⼀幅图像进⾏旋转,显⽰原始图像与处理后图像,分别对其进⾏傅⾥叶变换,显⽰变换后结果,分析原图的傅⾥叶谱与旋转后傅⾥叶频谱的对应关系。
《数字图像处理》实验教案
一、实验目的与要求1. 目的通过本实验,使学生了解数字图像处理的基本概念、方法和算法,掌握MATLAB 软件在图像处理方面的应用,提高学生分析问题和解决问题的能力。
2. 要求(1)熟悉MATLAB软件的基本操作。
(2)了解数字图像处理的基本概念和常用算法。
(3)能够运用MATLAB实现图像处理的基本操作和算法。
二、实验内容与步骤1. 实验内容(1)图像读取与显示。
(2)图像的基本运算(如加、减、乘、除等)。
(3)图像的滤波处理。
(4)图像的边缘检测。
(5)图像的分割与标记。
2. 实验步骤(1)打开MATLAB软件,新建一个脚本文件。
(2)导入所需图像,使用imread()函数读取图像,使用imshow()函数显示图像。
(3)进行图像的基本运算,如加、减、乘、除等,使用imadd()、imsub()、imdiv()、imconcat()等函数。
(4)对图像进行滤波处理,如使用均值滤波、中值滤波等,使用imfilter()函数。
(5)进行图像的边缘检测,如使用Sobel算子、Canny算子等,使用edge()函数。
(6)对图像进行分割与标记,如使用区域生长、阈值分割等方法,使用watershed()函数。
(7)对实验结果进行分析和讨论,总结实验心得。
三、实验注意事项1. 严格遵循实验步骤,确保实验的正确进行。
2. 合理选择参数,如滤波器的尺寸、阈值等。
3. 注意图像数据类型的转换,如浮点型、整型等。
4. 保持实验环境的整洁,避免误操作。
四、实验评价1. 评价内容(1)实验步骤的完整性。
(2)实验结果的正确性。
2. 评价标准(1)实验步骤完整,得分20分。
(2)实验结果正确,得分30分。
总分100分。
五、实验拓展1. 研究不同滤波器对图像滤波效果的影响。
2. 尝试使用其他图像分割算法,如基于梯度的分割方法、聚类分割方法等。
3. 探索图像处理在其他领域的应用,如计算机视觉、医学影像处理等。
六、实验一:图像读取与显示1. 实验目的掌握MATLAB中图像的读取和显示方法,熟悉图像处理的基本界面。
数字图像处理实验报告
数字图像处理实验报告目录1.数字图像处理简介2.实验目的3.实验内容4.实验结果及代码展示5.算法综述6.M atlab优势7.总结8.存在问题一、数字图像处理简介图像处理,是对图像进行分析、加工、和处理,使其满足视觉、心理以及其他要求的技术。
图像处理是信号处理在图像域上的一个应用。
目前大多数的图像是以数字形式存储,因而图像处理很多情况下指数字图像处理。
此外,基于光学理论的处理方法依然占有重要的地位。
图像处理是信号处理的子类,另外与计算机科学、人工智能等领域也有密切的关系。
传统的一维信号处理的方法和概念很多仍然可以直接应用在图像处理上,比如降噪、量化等。
然而,图像属于二维信号,和一维信号相比,它有自己特殊的一面,处理的方式和角度也有所不同。
二、实验目的巩固所学知识,提高所学能力三、实验内容利用matlab的GUI程序设计一个简单的图像处理程序,并含有如下基本功能:1. 读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题2. 对给定图像进行旋转3.对给定的图像添加噪声(椒盐噪声、高斯噪声)四、实验结果及代码展示1.软件设计界面2.各模块功能展示以及程序代码(1)读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题效果展示:代码:a = imread('C:\Documents and Settings\Administrator\桌面\数字图像\舞美.JPG');i = rgb2gray(a);I = im2bw(a,0.5);subplot(3,1,1);imshow(a);title('源图像')subplot(3,1,2);imshow(i);title('灰度图像')subplot(3,1,3);imshow(I);title('二值图像')(2)图像旋转原图效果展示:代码:clc;clear all;close all;Img=imread('D:\My Documents\My Pictures\5.JPG'); Img=double(Img);[h w]=size(Img);alpha=pi/4;wnew=w*cos(alpha)+h*sin(alpha);hnew=w*sin(alpha)+h*cos(alpha);wnew=ceil(wnew);hnew=ceil(hnew); u0=w*sin(alpha);T=[cos(alpha),sin(alpha);-sin(alpha),cos(alpha)]; Imgnew2=zeros(hnew,wnew);Imgnew1=zeros(hnew,wnew); for u=1:hnewfor v=1:wnewtem=T*([u;v]-[u0;0]);x=tem(1);y=tem(2);if x>=1&&x<=h&&y>=1&&y<=wx_low=floor(x);x_up=ceil(x);y_low=floor(y);y_up=ceil(y);if (x-x_low)<=(x_up-x)x=x_low;elsex=x_up;endif (y-y_low)<=(y_up-y)y=y_low;elsey=y_up;endp1=Img(x_low,y_low);p2=Img(x_up,y_low);p3=Img(x_low,y_low);p4=Img(x_up,y_up);s=x-x_low;t=y-y_low;Imgnew1(u,v)=Img(x,y);Imgnew2(u,v)=(1-s)*(1-t)*p1+(1-s)*t*p3+(1-t)*s*p2+s*t*p4;endendendfigure;imshow(Imgnew2,[]);B=imrotate(Img,alpha/pi*180);figure;imshow(B,[]);(3)对给定的图像添加噪声(斑点噪声、高斯噪声)效果展示:代码:I= imread('D:\My Documents\My Pictures\5.JPG');figure,subplot(211);imshow(I);title('原图');J1=imnoise(I,'gaussian',0,0.02);subplot(223);imshow(J);title('添加高斯噪声');J=imnoise(I,'speckle',0.04);subplot(224);imshow(J);title('添加斑点噪声');五、算法综述灰度图像:一幅完整的图像,是由红色、绿色、蓝色三个通道组成的。
《数字图像处理》实验教案
《数字图像处理》实验教案一、实验目的与要求1. 实验目的(1)理解数字图像处理的基本概念和原理;(2)掌握常用的数字图像处理方法和技术;(3)提高实际操作能力和解决问题的能力。
2. 实验要求(1)熟悉实验环境和相关软件;(2)认真阅读实验教材和参考资料;二、实验内容与步骤1. 实验内容(1)图像读取与显示;(2)图像基本运算;(3)图像滤波;(4)图像增强;(5)图像边缘检测。
2. 实验步骤(1)打开实验软件,导入图像;(2)进行图像基本运算,如加、减、乘、除等;(3)应用图像滤波算法,如低通滤波、高通滤波等;(4)采用图像增强技术,如直方图均衡化、对比度增强等;(5)利用图像边缘检测算法,如Sobel算子、Canny算子等。
三、实验注意事项1. 实验环境要求:确保实验环境稳定,网络畅通,软件安装正确;2. 实验数据要求:使用规定的图像数据进行实验,确保数据质量;3. 实验操作要求:严格按照实验步骤进行操作,注意调整参数;四、实验评价与评分标准1. 实验结果评价:根据实验要求,评估实验结果的正确性和效果;2. 实验报告评价:评估实验报告的完整性、逻辑性和表达能力;3. 实验操作评价:评估实验操作的规范性和熟练程度。
五、实验拓展与建议1. 实验拓展:尝试研究其他数字图像处理技术和算法;2. 学习建议:深入学习数字图像处理的基本理论和应用领域;3. 实践建议:多进行实际操作,参加相关竞赛或项目,提高综合能力。
六、实验一:图像读取与显示1. 实验目的(1)掌握图像读取和显示的基本方法;(2)熟悉实验软件的操作界面。
2. 实验内容(1)打开实验软件,导入图像;(2)显示原图像;(3)进行图像的放大、缩小、旋转等操作;(4)保存实验结果。
3. 实验步骤(1)打开实验软件,选择图像文件;(2)导入图像,观察原图像;(3)利用软件工具对图像进行放大、缩小、旋转等操作;(4)保存实验结果,关闭软件。
七、实验二:图像基本运算1. 实验目的(1)掌握图像加、减、乘、除等基本运算方法;(2)了解图像运算的原理和应用。
数字图像处理实验报告
数字图像处理实验报告引言数字图像处理是一门研究如何对图像进行数字化处理的学科,它的应用广泛,涵盖了图像的获取、增强、压缩、分割等多个方面。
本次实验旨在探索数字图像处理的基本原理和常用技术,并通过实践操作加深对数字图像处理的理解。
实验目的1.学习掌握数字图像处理的基本原理;2.熟悉常用的数字图像处理工具和方法;3.实践应用数字图像处理技术解决实际问题。
实验环境在本次实验中,我们使用了以下环境和工具:- 操作系统:Windows 10 - 编程语言:Python - 图像处理库:OpenCV实验步骤步骤一:图像获取与显示首先,我们需要获取一张待处理的图像,并对其进行显示。
在Python中,我们可以使用OpenCV库来实现图像的读取和显示。
以下是示例代码:import cv2# 读取图像image = cv2.imread('image.jpg')# 显示图像cv2.imshow('Image', image)cv2.waitKey(0)cv2.destroyAllWindows()步骤二:图像增强图像增强是数字图像处理中常用的技术之一,旨在改善图像的质量和可视化效果。
常见的图像增强技术包括灰度转换、直方图均衡化、滤波器等。
以下是示例代码:import cv2# 读取图像image = cv2.imread('image.jpg')# 灰度转换gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GR AY)# 直方图均衡化equalized_image = cv2.equalizeHist(gray_image)# 高斯滤波器blurred_image = cv2.GaussianBlur(equalized_image, (5, 5), 0)# 边缘增强enhanced_image = cv2.Canny(blurred_image, 100, 20 0)# 显示图像cv2.imshow('Enhanced Image', enhanced_image)cv2.waitKey(0)cv2.destroyAllWindows()步骤三:图像压缩图像压缩是数字图像处理中的重要话题,旨在减少图像的存储空间和传输带宽。
数字图像处理实验报告.doc
数字图像处理实验报告数字图像处理实验报告1一.实验内容:主要是图像的几何变换的编程实现,具体包括图像的读取、改写,图像平移,图像的镜像,图像的转置,比例缩放,旋转变换等.具体要求如下:1. 编程实现图像平移,要求平移后的图像大小不变;2. 编程实现图像的镜像;3. 编程实现图像的转置;4. 编程实现图像的比例缩放,要求分别用双线性插值和最近邻插值两种方法来实现,并比较两种方法的缩放效果;5. 编程实现以任意角度对图像进行旋转变换,要求分别用双线性插值和最近邻插值两种方法来实现,并比较两种方法的旋转效果.二.实验目的和意义:本实验的目的是使学生熟悉并掌握图像处理编程环境,掌握图像平移、镜像、转置和旋转等几何变换的方法,并能通过程序设计实现图像文件的读、写操作,及图像平移、镜像、转置和旋转等几何变换的程序实现.三.实验原理与主要框架3.1实验所用编程环境Visual C++(简称VC)是微软公司提供的基于C/C++的应用程序集成开发工具.VC拥有丰富的功能和大量的扩展库,使用它能有效的创建高性能的Windows应用程序和Wet应用程序.VC除了提供高效的C/C++编译器外,还提供了大量的可重用类和组件,包括著名的微软基础类库(MFC)和活动模板类库(ATL),因此它是软件开发人员不可多得的开发工具.VC丰富的功能和大量的扩展库,类的重用特性以及它对函数库、DLL库的支持能使程序更好的模块化,并且通过向导程序大大简化了库资源的使用和应用程序的开发,正由于VC具有明显的优势,因而我选择了它来作为数字图像几何变换的开发工具.在本程序的开发过程中,VC的核心知识、消息映射机制、对话框控件编程等都得到了生动的体现和灵活的应用.3.2实验处理的对象:256色的BMP(BIT MAP格式图像BMP(BIT MAP位图的文件结构:具体组成图:BITMAPFILEHEADER位图文件头(只用于BMP文件)bfType="BM" bfSize bfReserved1bfReserved2bfOffBitsbiSize biWidthbiHeight biPla nesbiBitCou ntbiCompressi onbiSizeimagebiXPelsPerMeterbiY PelsPerMeterbiClrUsedbiCirimporta nt单色DIB有2个表项16色DIB有16个表项或更少256色DIB有256个表项或更少真彩色DIB没有调色板每个表项长度为4字节(32位)像素按照每行每列的顺序排列每一行的字节数必须是4的整数倍BITMAPINFOHEAD位图信息头Palette 调色板DIBPixels DIB 图像数据1. BMP文件组成BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成.2. BMP文件头BMP文件头数据结构含有BMP文件的类型(必须为BMP)文件大小(以字节为单位)、位图文件保留字(必须为0)和位图起始位置(以相对于位图文件头的偏移量表示)等信息.3. 位图信息头BMP位图信息头数据用于说明位图的尺寸(宽度,高度等都是以像素为单位,大小以字节为单位,水平和垂直分辨率以每米像素数为单位),目标设备的级别,每个像素所需的位数,位图压缩类型(必须是0)等信息.4. 颜色表颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色.具体包含蓝色、红色、绿色的亮度(值范围为0-255)位图信息头和颜色表组成位图信息5. 位图数据位图数据记录了位图的每一个像素值,记录顺序是在扫描行内是从左到右,扫描行之间是从下到上.Windows规定一个扫描行所占的字节数必须是4的倍数(即以long为单位),不足的以0填充.3.3 BMP(BIT MAP )位图的显示:①一般显示方法:1. 申请内存空间用于存放位图文件2. 位图文件读入所申请内存空间中3. 在函数中用创建显示用位图,用函数创建兼容DC用函数选择显示删除位图但以上方法的缺点是:1)显示速度慢;2)内存占用大;3)位图在缩小显示时图形失真大,(可通过安装字体平滑软件来解决);4)在低颜色位数的设备上(如256显示模式)显示高颜色位数的图形(如真彩色)图形失真严重.②BMP位图缩放显示:用视频函数来显示位图,内存占用少,速度快,而且还可以对图形进行淡化(Dithering )处理.淡化处理是一种图形算法,可以用来在一个支持比图像所用颜色要少的设备上显示彩色图像.BMP位图显示方法如下:1. 打开视频函数,一般放在在构造函数中2. 申请内存空间用于存放位图文件3. 位图文件读入所申请内存空间中4. 在函数中显示位图5. 关闭视频函数,一般放在在析构函数中以上方法的优点是:1)显示速度快;2)内存占用少;3)缩放显示时图形失真小,4)在低颜色位数的设备上显示高颜色位数的图形图形时失真小;5)通过直接处理位图数据,可以制作简单动画3.4程序中用到的访问函数Win dows支持一些重要的DIB访问函数,但是这些函数都还没有被封装到MFC中,这些函数主要有:1. SetDIBitsToDevice 函数:该函数可以直接在显示器或打印机上显示DIB.在显示时不进行缩放处理.2. StretchDIBits 函数:该函数可以缩放显示DIB于显示器和打印机上.3. GetDIBits 函数:还函数利用申请到的内存,由GDI位图来构造DIB.通过该函数,可以对DIB的格式进行控制,可以指定每个像素颜色的位数,而且可以指定是否进行压缩.4. CreateDIBitmap函数:利用该函数可以从DIB出发来创建GDI 位图.5. CreateDIBSection 函数:该函数能创建一种特殊的DIB,称为DIB项,然后返回一个GDI位图句柄.6. LoadImage函数:该函数可以直接从磁盘文件中读入一个位图,并返回一个DIB句柄.7. DrawDibDraw 函数:Windows提供了窗口视频(VFW)组件,Visual C++支持该组件.VFW中的DrawDibDraw函数是一个可以替代StretchDIBits 的函数.它的最主要的优点是可以使用抖动颜色,并且提高显示DIB的速度,缺点是必须将VFW弋码连接到进程中.3.5图像的几何变换图像的几何变换,通常包括图像的平移、图像的镜像变换、图像的转置、图像的缩放和图像的旋转等.数字图像处理实验报告2一、实验的目的和意义实验目的:本实验内容旨在让学生通过用VC等高级语言编写数字图像处理的一些基本算法程序,来巩固和掌握图像处理技术的基本技能,提高实际动手能力,并通过实际编程了解图像处理软件的实现的基本原理。
数字图像处理实验报告
数字图像处理实验报告图像处理课程的目标是培养学生的试验综合素质与能力。
使学生通过实践,理解相关理论学问,将各类学问信息进行新的组合,制造出新的方法和新的思路,提高学生的科学试验与实际动手操作能力[1]。
从影像科筛选有价值的图像,建成影像学数字化试验教育平台,系统运行正常;具备图像上传、图像管理、图像检索与扫瞄、试验报告提交、老师批阅等功能;能满意使用要求[2]。
1.试验内容设计思路1.1项目建设内容和方法数字图像处理的内容:完整的数字图像处理大体上分为图像信息的猎取,存储,传送,处理,输出,和显示几个方面。
数字图像信息的猎取主要是把一幅图像转换成适合输入计算机和数字设备的数字信号,包括摄取图像,光、电转换及数字化。
数字图像信息的存储,数字图像信息的突出特点是数据量巨大,为了解决海量存储问题,数字图像的存储主要研究图像压缩,图像格式及图像数据库技术。
数字图像信息的传送数字图像信息的传送可分为系统内部传送与远距离传送[4]数字图像信息处理包括图像变换,图像增加,图像复原,彩色与多光谱处理图像重建,小波变换,图像编码,形态学,目标表示与描述。
数字图像输出和显示,最终目的是为人和机器供应一幅便于解释和识别的图像,数字图像的输出和显示也是数字图像处理的重要内容之一。
1.2数字图像处理的方法大致可以分为两大类,既空域法和频域法空域法:是把图像看做平面中各个像素组成的集合,然后直接对一维和二维函数进行相应处理,依据新图像生成方法的不同,空域处理法可为点处理法,区处理法,叠代处理法,跟踪处理法,位移不变与位移可变处理法。
点处理法的优点,点处理的典型用途a)灰度处理b)图像二值处理点处理方法的优点a)可用LUT方法快速实现b)节省存储空间。
区处理法,邻域处理法。
它依据输入图像的小邻域的像素值,按某些函数得到输出像素。
区处理法主要用于图象平滑和图像的锐化。
叠代处理法:叠代就是反复进行某些处理运算,图像叠代处理也是如此,拉普拉斯算子或平滑处理的结果是物体轮廓,该图像轮廓边缘太宽或粗细不一,要经过多次叠代把它处理成单像素轮廓——图像细化。
数字图像处理实验(1)
3)存储该图像(文件名用同学们的本名); 4)、制作标准像的硬拷贝;打印两张,一张
上交(附在实验报告中),一张自己保留;
五、撰写实验报告 1)、实验目的叙述; 2)、实验环境描述; 3)、实验项目及内容; 4)、操作步骤详细描述;包括:系统的激 活方法,菜单的运用等;
5)、记录实验结果。 6)、基本原理介绍; 7)、实验现象描述; 8)、实验结果分析;
谢谢
软件: 操作系统:WINDOWS XP 应用软件: 数字图像处理演示软件。
三、实验内容:
1)、图像信息获取; 2)、图像存储; 3)、观察直方图均衡化处理的效果; 4)、观察图像边缘增强处理效果; 5)、拍摄自己的标准像。
四、实验步骤: 1、图像信息的获取: 1)、激活软件; 2)、调整摄像机的光圈和聚焦,
数字图像处理实验
(一)
一、实验目的
1)、了解“数字图像处理系统”的基本组 成结构;
2)、掌握微型数字图像处理系统的基本 操作方法;
3)、体验主要数字图像处理内容的效果。
二、实验的软、硬件平台:
硬件: 微型图像处理系统, 包括:主机, PC机; 摄像机:Logitech 130万像素, 分辨率:640×480 最高分辨率:1280×960 手动聚焦调整.
摄取一张明暗合适的图像;
ห้องสมุดไป่ตู้
3)、存储图像;
4)、调出该图像,验证是否成功存储了该 图像。
2、观察图像均衡化处理效果 1)、激活图像处理软件; 2)、调整摄像机光圈,摄取一张偏暗的图像 并存储该图像;
3)、调用演示程序中的直方图统计功 能,观察直方图形状;
4)、调用直方图均衡化处理功能,观察 处理结果,同时调用直方图统计功 能,观察直方图形状;
数字图像处理实验报告
数字图像处理实验报告一、引言数字图像处理是一门涉及图像获取、图像处理和图像分析的重要学科,广泛应用于计算机科学、电子工程、通信技术等领域。
本报告旨在介绍并总结我所进行的数字图像处理实验,讨论实验的目的、方法、结果和分析。
二、实验目的通过本次实验,旨在掌握和理解数字图像处理的基本原理和常见技术,包括灰度变换、空间域滤波、频域滤波等,以及层次分割、边缘检测和形态学处理等高级应用技术。
三、实验方法1. 寻找合适的图像在实验中,我选用了一张自然风景图像作为处理对象。
这张图像包含丰富的纹理和颜色信息,适合用于多种图像处理方法的验证和比较。
2. 灰度变换灰度变换是数字图像处理中常见的基础操作,可以通过对图像的像素灰度值进行线性或非线性变换,来调整图像的对比度、亮度等特征。
在实验中,我利用线性灰度变换方法将原始彩色图像转换为灰度图像,并进行对比度的调整,观察处理结果的变化。
3. 空间域滤波空间域滤波是一种基于像素邻域的图像处理方法,常用于图像去噪、边缘增强等应用。
我使用了平滑滤波和锐化滤波两种方法,并针对不同的滤波算子和参数进行了实验和比较,评估其对图像细节和边缘保留的影响。
4. 频域滤波频域滤波是一种基于图像的频谱特征的图像处理方法,广泛应用于图像增强、去噪和特征提取等方面。
我利用傅里叶变换将图像从空间域转换到频域,采用理想低通滤波器和巴特沃斯低通滤波器进行图像的模糊处理,并进行了实验对比和分析。
5. 高级应用技术在实验中,我还研究了数字图像处理中的一些高级应用技术,包括层次分割、边缘检测和形态学处理。
通过应用不同的算法和参数,我实现了图像区域分割、提取图像边缘和形态学形状变换等效果,评估处理结果的准确性和稳定性。
四、实验结果与分析通过对以上实验方法的实施,我获得了一系列处理后的图像,并进行了结果的比较和分析。
在灰度变换实验中,我发现线性变换对图像的对比度有较大影响,但对图像的细节变化不敏感;在空间域滤波实验中,平滑滤波可以有效降噪,但会导致图像细节损失,而锐化滤波可以增强图像的边缘效果,但也容易引入噪声;在频域滤波实验中,理想低通滤波对图像的模糊效果明显,而巴特沃斯低通滤波器可以在一定程度上保留图像的高频细节信息;在高级应用技术实验中,边缘检测和形态学处理对提取图像边缘和形状变换非常有效,但参数的选择会对结果产生较大影响。
数字图像处理实验报告
数字图像处理实验报告数字图像处理实验报告实验⼀数字图像基本操作及灰度调整⼀、实验⽬的1)掌握读、写图像的基本⽅法。
2)掌握MATLAB语⾔中图像数据与信息的读取⽅法。
3)理解图像灰度变换处理在图像增强的作⽤。
4)掌握绘制灰度直⽅图的⽅法,理解灰度直⽅图的灰度变换及均衡化的⽅法。
⼆、实验内容与要求1.熟悉MATLAB语⾔中对图像数据读取,显⽰等基本函数特别需要熟悉下列命令:熟悉imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。
1)将MATLAB⽬录下work⽂件夹中的forest.tif图像⽂件读出.⽤到imread,imfinfo等⽂件,观察⼀下图像数据,了解⼀下数字图像在MATLAB中的处理就是处理⼀个矩阵。
将这个图像显⽰出来(⽤imshow)。
尝试修改map颜⾊矩阵的值,再将图像显⽰出来,观察图像颜⾊的变化。
2)将MATLAB⽬录下work⽂件夹中的b747.jpg图像⽂件读出,⽤rgb2gray()将其转化为灰度图像,记为变量B。
2.图像灰度变换处理在图像增强的作⽤读⼊不同情况的图像,请⾃⼰编程和调⽤Matlab函数⽤常⽤灰度变换函数对输⼊图像进⾏灰度变换,⽐较相应的处理效果。
3.绘制图像灰度直⽅图的⽅法,对图像进⾏均衡化处理请⾃⼰编程和调⽤Matlab函数完成如下实验。
1)显⽰B的图像及灰度直⽅图,可以发现其灰度值集中在⼀段区域,⽤imadjust函数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰度直⽅图与原灰度直⽅图的区别。
2) 对B 进⾏直⽅图均衡化处理,试⽐较与源图的异同。
3) 对B 进⾏如图所⽰的分段线形变换处理,试⽐较与直⽅图均衡化处理的异同。
图1.1 分段线性变换函数三、实验原理与算法分析1. 灰度变换灰度变换是图像增强的⼀种重要⼿段,它常⽤于改变图象的灰度范围及分布,是图象数字化及图象显⽰的重要⼯具。
数字图像处理实验报告
数字图像处理实验报告数字图像处理实验报告一、引言数字图像处理是计算机科学与工程领域中的一个重要研究方向。
通过使用数字化技术,对图像进行采集、传输、存储和处理,可以实现对图像的增强、恢复、分析和识别等功能。
本实验旨在通过对数字图像处理算法的实践应用,探索图像处理的原理和方法。
二、实验目的本实验的主要目的是掌握数字图像处理的基本概念和算法,并通过实际操作加深对图像处理原理的理解。
具体目标包括:1. 学习使用图像处理软件,如Photoshop或Matlab等。
2. 掌握图像增强的方法,如直方图均衡化、滤波和锐化等。
3. 理解图像压缩和编码的原理,如JPEG和PNG等格式。
4. 了解图像分割和边缘检测的基本算法,如阈值分割和Canny边缘检测等。
三、实验过程1. 图像增强图像增强是指通过一系列算法和技术,改善图像的质量和视觉效果。
在实验中,我们可以使用直方图均衡化算法来增强图像的对比度和亮度。
该算法通过将图像的像素值映射到一个更大的范围内,使得图像的亮度分布更加均匀。
2. 图像滤波图像滤波是指通过一系列滤波器对图像进行处理,以实现去噪、平滑和锐化等效果。
在实验中,我们可以使用平滑滤波器(如均值滤波器和高斯滤波器)来去除图像中的噪声。
同时,我们还可以使用锐化滤波器(如拉普拉斯滤波器和Sobel滤波器)来增强图像的边缘和细节。
3. 图像压缩和编码图像压缩是指通过减少图像的数据量来减小图像文件的大小,从而实现存储和传输的效率提升。
在实验中,我们可以使用JPEG和PNG等压缩算法来对图像进行压缩和编码。
JPEG算法通过对图像的频域进行离散余弦变换和量化,实现对图像的有损压缩。
而PNG算法则采用无损压缩的方式,通过对图像的差值编码和哈夫曼编码,实现对图像的高效压缩。
4. 图像分割和边缘检测图像分割是指将图像分成若干个区域,以实现对图像的目标提取和图像分析的目的。
而边缘检测是指通过检测图像中的边缘和轮廓,实现对图像的形状分析和目标识别。
数字图像处理实验报告通用
数字图像处理实验报告通用数字图像处理实验报告通用数字图像处理是现代科学技术发展过程中的一个重要方向,它广泛地涉及到了计算机、数学、物理、电子等多个学科。
数字图像处理实验是数字图像处理领域中不可或缺的重要研究手段之一。
为了更好地展示实验结果和数据,以下是数字图像处理实验报告通用模板,以供参考。
1. 实验目的本次实验的目的是掌握数字图像处理的基本概念、算法以及其应用,在实践中学习数字图像处理的基础操作和技巧。
通过实验,学生可以更深入地理解数字图像处理的原理,并掌握数字图像处理应用的方法和技术。
2. 实验原理数字图像处理是将数字信号处理和图像处理结合起来的技术。
主要基于数字通信和数字信号处理原理,将二维图像进行数字化,并对其进行处理,实现图像的获取、传输、分析和显示等功能。
3. 实验流程(1) 图像获取和预处理:获取需要处理的图像,并进行基本的预处理,包括降噪、锐化、自适应增强等。
(2) 图像增强:通过滤波、直方图均衡化、灰度拉伸等操作,增强图像的亮度、对比度等特征。
(3) 图像变换:包括几何变换(旋转、平移、缩放等)、色彩空间变换(RGB空间、HSV空间等)等。
(4) 特征提取和分类:从图像中提取出感兴趣的特征,进行分类判别、目标检测等。
(5) 结果展示和分析:将处理后的图像结果进行展示和分析,分析图像特征和处理效果。
4. 实验结果(1) 原始图像(2) 预处理后的图像(3) 增强后的图像(4) 变换后的图像(5) 提取出的特征及分类结果(6) 结果展示和分析5. 实验总结通过本次实验,我们对数字图像处理的基本概念、算法和应用有了更深的理解,并掌握了数字图像处理的基础操作和技巧。
对于未来的科学研究和工程技术领域,数字图像处理具有广泛的应用前景,我们有信心在这个领域不断深耕,为社会的发展进步做出更大的贡献。
《数字图像处理》实验教案
《数字图像处理》实验教案一、实验目的1. 理解数字图像处理的基本概念和原理;2. 掌握常用的数字图像处理方法和技术;3. 培养实际操作数字图像处理工具的能力;4. 提高对数字图像处理问题的分析和解决能力。
二、实验内容1. 图像读取与显示:使用图像处理软件,读取、显示和保存不同格式的图像文件;2. 图像基本运算:进行图像的加、减、乘、除等基本运算;3. 图像滤波:使用低通滤波器、高通滤波器、带通滤波器等对图像进行滤波处理;4. 图像增强:采用直方图均衡化、对比度增强等方法改善图像质量;5. 边缘检测:使用Sobel算子、Canny算子等方法检测图像边缘。
三、实验原理1. 图像读取与显示:介绍图像处理软件的基本操作,掌握图像文件格式的转换;2. 图像基本运算:介绍图像像素的运算规则,理解图像基本运算的原理;3. 图像滤波:介绍滤波器的原理和应用,掌握滤波器的设计和实现方法;4. 图像增强:介绍图像增强的目的和方法,理解直方图均衡化和对比度增强的原理;5. 边缘检测:介绍边缘检测的原理和算法,掌握不同边缘检测方法的特点和应用。
四、实验步骤1. 图像读取与显示:打开图像处理软件,选择合适的图像文件,进行读取、显示和保存操作;2. 图像基本运算:打开一幅图像,进行加、减、乘、除等基本运算,观察结果;3. 图像滤波:打开一幅图像,选择合适的滤波器,进行滤波处理,观察效果;4. 图像增强:打开一幅图像,选择合适的增强方法,进行增强处理,观察质量改善;5. 边缘检测:打开一幅图像,选择合适的边缘检测方法,进行边缘检测,观察边缘效果。
五、实验要求1. 熟练掌握图像处理软件的基本操作;2. 能够正确进行图像的基本运算;3. 能够合理选择和应用不同类型的滤波器;5. 能够根据图像特点选择合适的边缘检测方法。
六、实验环境1. 操作系统:Windows 10或更高版本;2. 图像处理软件:MATLAB或OpenCV;3. 编程环境:MATLAB或C++;4. 硬件要求:普通计算机或服务器。
数字图像处理实验
数字图像处理实验实验一:图像色彩编辑器一、图像色彩编辑器(ColorPicker)是一个基于对话框的应用程序,它具有以下功能:1、色彩编辑功能用户可以通过可以调整R、G、B的值来编辑颜色,亦可通过调整H、S、V的值来选取颜色。
颜色编辑的结果会马上反馈到颜色面板和颜色预览框中。
2、RGB颜色空间和HSV颜色空间的转换当改变RGB值,会得到相应的HSV值,并进行显示,反之亦然。
3、取色功能取色功能包含“面板取色”和“屏幕取色”。
面板取色就是用户可以在颜色面板中单击鼠标左键,选取目标点所表示的某种颜色。
屏幕取色则是允许用户获取整个屏幕上的任意一点的颜色值。
用户可以将鼠标移动到需要获取颜色的地方,然后按a键或A键即可以获取该点颜色值。
二、实验步骤1、创建新项目打开VC6.0,选择菜单中的[文件]——[新建]项目,在弹出的“新建项目”对话框中选择“MFC应用程序”模板,并在名称中输入“ColorPicker”,然后单击“确定”。
在“MFC 应用程序向导”的应用程序类型中选择“基本对话框”,其他选项采用系统默认设置,最后生成项目。
2、对话框设计设计对话框将解决各种控件的数量、摆放的位置和使用的名称等问题。
打开资源视图(ColorPicker Resources),点击对话框(Dialog),找到名为“IDD_COLORPICKER_DIALOG”的对话框资源,双击它进入编辑状态,并按照下图所示的图和表对该对话框进行编辑。
3、完成实例编程12 3 4 5 678 9 1011 12 13这里介绍一下组成ColorPicker 应用程序的每个文件的作用:(1)ColorPicker.vcproj这是使用应用程序向导生成的VC++ 项目的主项目文件。
它包含生成该文件的Visual C++ 的版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。
(2)ColorPicker.h这是应用程序的主要头文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数字图像处理》实验报告学院:信息工程学院专业:电子信息工程学号:姓名:2015年6月18日目录实验一图像的读取、存储和显示 (2)实验二图像直方图分析 (6)实验三图像的滤波及增强 (15)实验四噪声图像的复原 (19)实验五图像的分割与边缘提取 (23)附录1 MATLAB简介 (27)实验一图像的读取、存储和显示一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。
5.图像的显示。
二、实验原理一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。
灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。
例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。
因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。
图像关于x和y坐标以及振幅连续。
要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。
将坐标值数字化成为取样;将振幅数字化成为量化。
采样和量化的过程如图1所示。
因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。
三、实验设备(1) PC计算机(2) MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox)(3) 实验所需要的图片四、实验内容及步骤1.利用imread( )函数读取一幅图像,假设其名为flower.tif,存入一个数组中;2.利用whos 命令提取该读入图像flower.tif的基本信息;3.利用imshow()函数来显示这幅图像;4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件设为flower.jpg语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。
7.用imread()读入图像:Lenna.jpg 和camema.jpg;8.用imfinfo()获取图像Lenna.jpg和camema.jpg 的大小;9.用figure,imshow()分别将Lenna.jpg和camema.jpg显示出来,观察两幅图像的质量。
10. 用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。
11.将每一步的函数执行语句拷贝下来,写入实验报告,并且将得到第3、9、10步得到的图像效果拷贝下来。
五、实验源程序clc;clear;close all;I=imread('D:\picture\flower.tif');% 读入原图像,tif格式whos I ; % 显示图像I的基本信息imfinfo ('D:\picture\flower.tif');imwrite(I,'D:\picture\flower.jpg','quality',50);imwrite(I,'D:\picture\flower.bmp'); % 以位图(BMP)的格式存储图像g=im2bw(I); % 将图像转为二值图像imwrite(g,'D:\picture\flower1.tif');subplot(2,2,1),imshow(I),title('原图(tif格式)');subplot(2,2,2),imshow('D:\picture\flower.jpg'),title('压缩图(jpg格式)');subplot(2,2,3),imshow('D:\picture\flower.bmp'),title('位图(BMP格式)');subplot(2,2,4),imshow(g),title('二值图');六、实验结果原图(tif格式)压缩图(jpg格式)位图(BMP格式)二值图七、实验心得通过本次实验可以熟练的运用MATLAB编程软件。
实验二 图像直方图分析一.实验目的1.了解MATLAB 的操作环境和基本功能。
2.掌握MATLAB 中图像增强与平滑的函数的使用方法。
3.加深理解图像增强与平滑的算法原理。
二、实验内容(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。
熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。
(可将每段程序保存为一个.m 文件)1.直方图均衡化 2.直接灰度变换3.空域平滑滤波(模糊、去噪) 4.空域锐化滤波(二)采用MATLAB 底层函数编程实现 1.灰度变换之动态范围扩展假定原图像f (x , y )的灰度范围为[a , b ],希望变换后图像 g (x , y )的灰度范围扩展至[c , d ],则线性变换可表示为:c a y x f ab cd y x g +---=]),([),( 用MATLAB 底层函数编程实现上述变换函数。
观察图像‘ pout.tif’的灰度直方图,选择合适的参数[a , b ]、[c , d ]对图像‘pout.tif ’进行灰度变换,以获得满意的视觉效果。
2.非锐化掩蔽和高斯滤波从原图像中减去其非锐化(平滑过的)图像的过程称为非锐化掩蔽,其基本步骤为: ⑴对原图像进行平滑滤波得到模糊图像(,)f x y ;⑵从原图像中减去模糊图像,产生的差值图像称为模板(,)mask g x y ;⑶将模板加到原图像上,得到锐化后的图像(,)g x y 。
即,(,)(,) - (,)mask g x y f x y f x y =(,)(,)(,)1mask g x y f x y k g x y k =+*≥;用MATLAB 函数编程实现上述功能。
三、实验设备与软件1.计算机;2.MATLAB6.5及以上;四、实验源程序(一)1.直方图均衡化 clc;clear all; close all I=imread('pout.tif'); subplot(2,3,1); imshow(I); title('原图'); subplot(2,3,2);imhist(I); % 显示原图的直方图 title('原图的直方图');[I2,T]=histeq(I); %原图进行均衡化 subplot(2,3,3);imshow(I2); %显示均衡化后图 title('均衡化后的图'); subplot(2,3,4);imhist(I2); %显示原图均衡化后的直方图 title('原图均衡化后的直方图'); subplot(2,3,5);plot((0:255)/255,T); % 绘制均衡化函数图 title('均衡化函数图');imwrite(I2, 'D:\picture1\pout.png');imfinfo('D:\picture1\pout.png')%显示写入图的信息 2.直接灰度变换clc;clear all; close allI=imread('cameraman.tif');subplot(2,3,1),imshow(I),title('原图(cameraman)');J=imadjust(I,[0 0.2],[0.5 1]);subplot(2,3,2),imshow(J),title('图cameraman调整灰度值后的图');[X,MAP] = imread('forest.tif');%X为图像数据矩阵,MAP为颜色表数据矩阵subplot(2,3,3),imshow(X,MAP),title('原图(forest)');I2=ind2gray(X,MAP);J2=imadjust(I2,[],[],0.5);J3=imadjust(I2,[],[],1.5);subplot(2,3,4),imshow(I2),title('forest的灰度图');subplot(2,3,5),imshow(J2),title('forest调整图像灰度值后明亮输出的图'); subplot(2,3,6),imshow(J3),title('forest调整图像灰度值后灰暗输出的图'); 3.空域平滑滤波(模糊、去噪)clc;clear all; close allI=imread('eight.tif');h1=ones(3,3)/9;h2=ones(5,5)/25;I1=imfilter(I,h1);%用3*3的方阵(元素值为0.11)过滤原图I2=imfilter(I,h2);%用5*5的方阵(元素值为0.04)过滤原图figure(1);subplot(2,2,1),imshow(I), title('原图');subplot(2,2,2),imshow(I1),title('用3*3的方阵(元素值为0.11)过滤原图'); subplot(2,2,3),imshow(I2),title('用5*5的方阵(元素值为0.04)过滤原图');J1=imnoise(I,'gaussian',0,0.005);% 加入高斯(Gaussian)噪声J2=imnoise(I,'salt & pepper',0.02);% 加入椒盐噪声K1 = imfilter(J1,fspecial('average',3));% 对J1进行平均值平滑滤波K2 = imfilter(J2,fspecial('average',3));% 对J2进行平均值平滑滤波figure(2);subplot(2,2,1), imshow(J1),title('加入高斯噪声');subplot(2,2,2), imshow(J2),title('加入椒盐噪声');subplot(2,2,3), imshow(K1),title('对加入高斯噪声的图进行平均值平滑滤波');subplot(2,2,4), imshow(K2),title('对加入椒盐噪声的图进行平均值平滑滤波');K3 = medfilt2(J1,[3 3]);% 对J1进行中值滤波K4 = medfilt2(J2,[3 3]);% 对J2进行中值滤波figure(3);subplot(2,2,1), imshow(J1),title('加入高斯噪声');subplot(2,2,2), imshow(J2),title('加入椒盐噪声');subplot(2,2,3), imshow(K3),title('对加入高斯噪声的图进行中值滤波');subplot(2,2,4), imshow(K4),title('对加入椒盐噪声的图进行中值滤波');4.空域锐化滤波clc;clear all; close allI = imread('moon.tif');w=fspecial('laplacian',0);%拉普拉斯算子w1=[1,1,1;1,-8,1;1,1,1];%新算子(w1)I1= imfilter(I,w, 'replicate');%拉普拉斯算子对原图锐化滤波subplot(2,4,1),imshow(I), title('原图');subplot(2,4,2),imshow(I1), title('拉普拉斯算子对原图锐化滤波图');f = im2double(I);%把原图的数据类型转换为双精度浮点类型(图不变)f1= imfilter(f,w,'replicate');%拉普拉斯算子对图f锐化滤波subplot(2,4,4),imshow(f1,[]), title('拉普拉斯算子对f锐化滤波图');f2= imfilter(f,w1, 'replicate');%新算子(w1)对图f锐化滤波subplot(2,4,5),imshow(f1,[]), title('新算子(w1)对f锐化滤波图');f4 = f-f1;%图f减去其锐化滤波(拉普拉斯算子)后的图f8 = f-f2;%图f减去其锐化滤波(新算子(w1))后的图subplot(2,4,3),imshow(f),title('原图的数据类型变为双精度浮点型即图f');subplot(2,4,6),imshow(f4),title('图f减去其锐化滤波(拉普拉斯算子)后的图');subplot(2,4,8),imshow(f8),title('图f减去其锐化滤波(新算子(w1))后的图');(二)1.灰度变换之动态范围扩展clc;clear all; close allI=imread('pout.tif');%数据为240行16列的矩阵subplot(2,2,1),imshow(I),title('原图(pout)'); I1=double(I)./double(100);%对原图数据进行处理J=0.625.*(I1-0.1)+0.4;%a=0.1,b=0.9,c=0.4,d=0.9调整原图的灰度值——变明亮 subplot(2,2,2),imshow(J),title('图pout 调整灰度值后的图 '); subplot(2,2,3),imhist(I1),title('原图的直方图'); % 显示原图的直方图subplot(2,2,4),imhist(J),title('pout 调整灰度值后的直方图'); % 显示pout 调整灰度值后的直方图2.非锐化掩蔽和高斯滤波clc;clear all; close all I=imread('pout.tif');J=imfilter(I,fspecial('average',3));% 对I 进行平均值平滑滤波 subplot(2,2,1),imshow(I),title('原图');subplot(2,2,2),imshow(J),title('对原图进行平均值平滑滤波得到模糊图像J'); M=I-J;%从原图像I 中减去模糊图像J ,产生的差值图像M 称为模板 N=30*M+I;%将模板M 加到原图像I 上,得到锐化后的图像N subplot(2,2,3),imshow(M),title('I 减J 产生的差值图像M');subplot(2,2,4),imshow(N),title('M 的30倍加I 得到的锐化后的图像N');五、实验结果(一)1.直方图均衡化原图原图的直方图均衡化后的图0原图均衡化后的直方图均衡化函数图2.直接灰度变换原图(cameraman)图cameraman调整灰度值后的图原图(forest)forest的灰度图forest调整图像灰度值后明亮输出的图forest调整图像灰度值后灰暗输出的图对于’imadjust(I,[low_in high_in],[low_out high_out],gamma)’函数,gamma大于1图像比原图像增强,小于1,灰度比图像小,有模糊感,图像不够清晰.3.空域平滑滤波(模糊、去噪)原图用3*3的方阵(元素值为0.11)过滤原图用5*5的方阵(元素值为0.04)过滤原图加入高斯噪声加入椒盐噪声对加入高斯噪声的图进行平均值平滑滤波对加入椒盐噪声的图进行平均值平滑滤波加入高斯噪声加入椒盐噪声对加入高斯噪声的图进行中值滤波 对加入椒盐噪声的图进行中值滤波4.空域锐化滤波原图拉普拉斯算子对原图锐化滤波图原图的数据类型变为双精度浮点型即图 f拉普拉斯算子对 f 锐化滤波图新算子(w1)对 f 锐化滤波图图 f 减去其锐化滤波(拉普拉斯算子)后的图图 f 减去其锐化滤波(新算子(w1))后的图使用空域滤波使图像对比度增大,并且w8=[1,1,1;1,-8,1;1,1,1]算子增强效果更明显 (二)1灰度变换之动态范围扩展原图(pout)图pout 调整灰度值后的图0原图的直方图pout 调整灰度值后的直方图2.非锐化掩蔽和高斯滤波原图对原图进行平均值平滑滤波得到模糊图像JI 减J 产生的差值图像M M 的30倍加I 得到的锐化后的图像N六.实验心得通过本次实验对高斯噪声与椒盐噪声有了更清楚的认识,也学会如何用平滑滤波,锐化滤波,高斯滤波处理图像,学到了很多新知识.实验三 图像的滤波及增强一、 实验目的1进一步了解MatLab 软件/语言,学会使用MatLab 对图像作滤波处理,使学生有机会掌握滤波算法,体会滤波效果。