数字图像处理实验程序MATLAB.

合集下载

数字图像处理matlab版实验报告

数字图像处理matlab版实验报告

数字图像处理实验报告(matlab版)一.实验目的:熟悉数字图像处理中各种椒盐噪声的实质,明确各种滤波算法的的原理。

进一步熟悉matlab的编程环境,熟悉各种滤波算法对应的matlab函数。

实验结果给以数字图像处理课程各种算法处理效果一个更直观的印象。

二.实验原理:1.IPT(图像处理工具箱)基本函数介绍1. imread函数该函数用于从图形文件中读出图像。

格式A=IMRAED(FILENAME,FMT)。

该函数把FILENAME 中的图像读到A中。

若文件包含一个灰度图,则为二维矩阵。

若文件包含一个真彩图(RGB),则A为一三维矩阵。

FILENAME指明文件,FMT指明文件格式。

格式[X,MAP]=IMREAD(FILENAME,FMT).把FILENAME中的索引图读入X,其相应的调色板读到MAP中.图像文件中的调色板会被自动在范围[0,1]内重新调节。

FMT的可能取值为jpg 或jpeg,tif或tiff,bmp,png,hdf,pcx,xwd。

2.imwrite函数该函数用于把图像写入图形文件中。

格式IMWRITE(A,FILENAME,FMT)把图像A写入文件FILENAME中。

FILENAME指明文件名, FMT指明文件格式。

A既可以是一个灰度图,也可以是一个真彩图像。

格式IMWRITE(X,MAP,FILENAME,FMT)把索引图及其调色板写入FILENAME中。

MAP必须为合法的MATLAB调色板,大多数图像格式不支持多于256色的调色板。

FMT的可能取值为tif或tiff,jpg或jpeg,bmp,png,hdf,pcx,xwd。

3. imshow函数显示图像。

格式IMSHOW(I,N).用N级离散灰度级显示灰度图象I。

若省略N,默认用256级灰度显示24位图像,64级灰度显示其他系统。

格式IMSHOW(I,[LOW HIGH]),把I 作为灰度图显示。

LOW值指定为黑色,HIGH指定为白色,中间为按比例分布的灰色。

MATLAB数字图像处理初步实验

MATLAB数字图像处理初步实验

实验一 MATLAB数字图像处理初步********************总共10小题********************一、实验目的及要求学习在MATLAB环境下对图像文件的I/O操作,为读取各种格式的图像文件和后续进行图像处理打下基础。

1.熟悉及掌握在MATLAB中能够处理哪些格式图像。

2.熟练掌握在MATLAB中如何读取图像。

3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等相关信息。

4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。

5.图像间如何转化。

二、实验设备与软件1.PC计算机2.MATLAB软件/语言包括图像处理工具箱(Image Processing Toolbox)3.实验所需要的图片三.实验内容1.利用imread函数读取一幅图像,假设其名为flower.tif,存入一个数组中;>>I=imread('pout.tif');2. 利用whos 命令提取该读入图像flower.tif的基本信息;>>whos I3.利用imshow函数来显示这幅图像;>>imshow(I)4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;>>imfinfo pout.tif5.利用imwrite函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。

>>imwrite(I,'flower.jpg','quality',80)6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。

<同上>7.用imread函数,读入图像:Lenna.jpg 和camema.jpg;由于文件中只有lena.bmp和camera.gif,所以要用imwrite函数,将两个图另存为。

数字图像处理实验(MATLAB版)

数字图像处理实验(MATLAB版)

数字图像处理(MATLAB版)实验指导书(试用版)湖北师范学院教育信息与技术学院2009年4月试行目录实验一、数字图像获取和格式转换 2 实验二、图像亮度变换和空间滤波 6 实验三、频域处理7 实验四、图像复原9 实验五、彩色图像处理10 实验六、图像压缩11 实验七、图像分割13 教材与参考文献14《数字图像处理》实验指导书实验一、数字图像获取和格式转换一、实验目的1掌握使用扫描仪、数码相机、数码摄像级机、电脑摄像头等数字化设备以及计算机获取数字图像的方法;2修改图像的存储格式;并比较不同压缩格式图像的数据量的大小。

二、实验原理数字图像获取设备的主要性能指标有x、y方向的分辨率、色彩分辨率(色彩位数)、扫描幅面和接口方式等。

各类设备都标明了它的光学分辨率和最大分辨率。

分辨率的单位是dpi,dpi是英文Dot Per Inch的缩写,意思是每英寸的像素点数。

扫描仪扫描图像的步骤是:首先将欲扫描的原稿正面朝下铺在扫描仪的玻璃板上,原稿可以是文字稿件或者图纸照片;然后启动扫描仪驱动程序后,安装在扫描仪内部的可移动光源开始扫描原稿。

为了均匀照亮稿件,扫描仪光源为长条形,并沿y方向扫过整个原稿;照射到原稿上的光线经反射后穿过一个很窄的缝隙,形成沿x方向的光带,又经过一组反光镜,由光学透镜聚焦并进入分光镜,经过棱镜和红绿蓝三色滤色镜得到的RGB三条彩色光带分别照到各自的CCD上,CCD将RGB光带转变为模拟电子信号,此信号又被A/D变换器转变为数字电子信号。

至此,反映原稿图像的光信号转变为计算机能够接受的二进制数字电子信号,最后通过串行或者并行等接口送至计算机。

扫描仪每扫一行就得到原稿x方向一行的图像信息,随着沿y方向的移动,在计算机内部逐步形成原稿的全图。

扫描仪工作原理见图1.1。

图1.1扫描仪的工作原理在扫描仪的工作过程中,有两个元件起到了关键的作用。

一个是CCD,它将光信号转换成为电信号;另一个是A/D变换器,它将模拟电信号变为数字电信号。

数字图像处理matlab课程设计

数字图像处理matlab课程设计

数字图像处理matlab课程设计一、课程目标知识目标:1. 理解数字图像处理的基本概念,掌握图像的表示和存储方式;2. 学会使用MATLAB软件进行数字图像处理,掌握相关函数和工具箱的使用方法;3. 掌握图像增强、滤波、边缘检测等基本图像处理技术;4. 了解图像分割、特征提取等高级图像处理技术。

技能目标:1. 能够运用MATLAB进行图像读取、显示和保存操作;2. 能够独立完成图像的增强、滤波等基本处理操作;3. 能够运用边缘检测算法对图像进行处理,提取关键特征;4. 能够根据实际需求选择合适的图像处理技术,解决实际问题。

情感态度价值观目标:1. 培养学生对数字图像处理技术的兴趣,激发其学习热情;2. 培养学生的团队合作意识,使其学会在团队中分享和交流;3. 培养学生严谨的科学态度,使其注重实验数据的真实性;4. 培养学生的创新思维,鼓励其探索新方法,提高解决问题的能力。

本课程旨在通过数字图像处理MATLAB课程设计,使学生在掌握基本理论知识的基础上,运用MATLAB软件进行图像处理实践。

课程注重理论与实践相结合,培养学生具备实际操作能力,并能运用所学知识解决实际问题。

针对学生的年级特点,课程目标既注重知识技能的传授,又关注情感态度价值观的培养,为学生今后的学习和工作奠定基础。

二、教学内容1. 数字图像处理基础- 图像表示与存储(RGB、灰度、二值图像)- 图像类型转换- MATLAB图像处理工具箱介绍2. 图像增强- 直方图均衡化- 伽玛校正- 图像锐化3. 图像滤波- 均值滤波- 中值滤波- 高斯滤波- 双边滤波4. 边缘检测- 索贝尔算子- 拉普拉斯算子- Canny边缘检测5. 图像分割- 阈值分割- 区域生长- 分水岭算法6. 特征提取与描述- 霍夫变换- SIFT算法- ORB算法教学内容根据课程目标进行选择和组织,注重科学性和系统性。

教学大纲明确分为六个部分,分别对应数字图像处理的基础知识、图像增强、滤波、边缘检测、图像分割和特征提取与描述。

(完整版)数字图像处理MATLAB程序【完整版】

(完整版)数字图像处理MATLAB程序【完整版】

第一部分数字图像处理实验一图像的点运算实验1.1 直方图一.实验目的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、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2 灰度均衡一.实验目的1.熟悉matlab图像处理工具箱中灰度均衡函数的使用;2.理解和掌握灰度均衡原理和实现方法;二.实验设备1.PC机一台;2.软件matlab;三.程序设计在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。

I=imread('cameraman.tif');%读取图像subplot(2,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(2,2,3),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题a=histeq(I,256); %直方图均衡化,灰度级为256subplot(2,2,2),imshow(a) %输出均衡化后图像title('均衡化后图像') %在均衡化后图像中加标题subplot(2,2,4),imhist(a) %输出均衡化后直方图title('均衡化后图像直方图') %在均衡化后直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。

数字图像处理实验Matlab及其图像处理工具箱的使用

数字图像处理实验Matlab及其图像处理工具箱的使用

实验一 Matlab及其图像处理工具箱的使用一、实验目的与要求1.熟悉常用图像的格式和类型。

2.熟练掌握在MATLAB中如何读取和保存图像。

3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。

4.掌握如何进行图像间转化。

5.掌握如何实时获取USB2.0摄像头采集的视频图像。

二、实验内容及步骤1.利用imread函数读取一幅图像,设名为cameraman.tif,存入一个数组中;I=imread(‘cameraman.tif’); % 读入原图像,tif格式2.利用whos 命令提取该读入图像cameraman.tif的基本信息;whos I;%显示图像I的基本信息3.利用imshow()函数来显示这幅图像;imshow(I) %显示图像前三步综合程序:>> I=imread('cameraman.tif');>> whos IName Size Bytes Class AttributesI 256x256 65536 uint8>> imshow(I)步骤三图像:4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;程序:>> imfinfo cameraman.tifans =Filename:'D:\Program Files\MA TLAB\R2009a\toolbox\images\imdemos\cameraman.tif'FileModDate: '04-十二月-2000 13:57:54'FileSize: 65240Format: 'tif'FormatV ersion: []Width: 256Height: 256BitDepth: 8ColorType: 'grayscale'FormatSignature: [77 77 42 0]ByteOrder: 'little-endian'NewSubFileType: 0BitsPerSample: 8Compression: 'PackBits'PhotometricInterpretation: 'BlackIsZero'StripOffsets: [8x1 double]SamplesPerPixel: 1RowsPerStrip: 32StripByteCounts: [8x1 double]XResolution: 72YResolution: 72ResolutionUnit: 'None'Colormap: []PlanarConfiguration: 'Chunky'TileWidth: []TileLength: []TileOffsets: []TileByteCounts: []Orientation: 1FillOrder: 1GrayResponseUnit: 0.0100MaxSampleV alue: 255MinSampleV alue: 0Thresholding: 1Offset: 64872ImageDescription: [1x112 char]5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。

(完整版)数字图像处理MATLAB程序【完整版】

(完整版)数字图像处理MATLAB程序【完整版】

第一部分数字图像处理实验一图像的点运算实验1.1 直方图一.实验目的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、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2 灰度均衡一.实验目的1.熟悉matlab图像处理工具箱中灰度均衡函数的使用;2.理解和掌握灰度均衡原理和实现方法;二.实验设备1.PC机一台;2.软件matlab;三.程序设计在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。

I=imread('cameraman.tif');%读取图像subplot(2,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(2,2,3),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题a=histeq(I,256); %直方图均衡化,灰度级为256subplot(2,2,2),imshow(a) %输出均衡化后图像title('均衡化后图像') %在均衡化后图像中加标题subplot(2,2,4),imhist(a) %输出均衡化后直方图title('均衡化后图像直方图') %在均衡化后直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。

数字图像处理实验1 MATLAB图像处理编程基础 实验报告

数字图像处理实验1  MATLAB图像处理编程基础 实验报告

实验报告课程名称数字图像处理实验项目MATLAB图像处理编程基础指导教师学院光电信息与通信工程__专业电子信息工程班级/学号学生姓名______ __________实验日期______ _成绩______________________实验1 MATLAB图像处理编程基础一、实验目的1.了解MATLAB产品体系和了解MATLAB图像处理工具箱。

2.掌握MATLAB的基本应用方法。

3.掌握MATLAB图像存储/图像数据类型/图像类型。

4.掌握图像文件的读/写/信息查询。

5.掌握图像显示--显示多幅图像、4种图像类型的显示方法、特殊图像的显示技术6.编程实现图像类型间的转换和图像算术操作。

二、实验的硬件、软件平台硬件:计算机软件:操作系统:Windows XP应用软件:MATLAB 7.0.1三、MATLAB图像处理工具箱的功能图像处理工具箱是一个函数的集合,它扩展了matlab数值计算环境的能力。

这个工具箱支持了大量图像处理操作,包括:空间图像变换 Spatial image transformations形态操作 Morphological operations邻域和块操作 Neighborhood and block operations线性滤波和滤波器设计 Linear filtering and filter design格式变换 Transforms图像分析和增强 Image analysis and enhancement图像登记 Image registration清晰化处理 Deblurring兴趣区处理 Region of interest operations四、说明使用MATLAB进行图像处理所需函数调用步骤在Command Window中,以命令行单句调用某一函数只需写xxx(函数名)xxxxxxx)这样就可以调用了.五、给出MATLAB图像处理工具箱的数据类型和4种基本图像类型工具箱里的函数都是M文件,可以通过type function_name来查看代码,也可以通过写自己的matlab函数来扩展工具箱。

《数字图像处理及MATLAB实现》图像增强与平滑实验

《数字图像处理及MATLAB实现》图像增强与平滑实验

《数字图像处理及MATLAB实现》图像增强与平滑实验一.实验目的及要求1、熟悉并掌握MA TLAB 图像处理工具箱的使用;2、理解并掌握常用的图像的增强技术。

二、实验设备MATLAB 6.5 以上版本、WIN XP 或WIN2000 计算机三、实验内容(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。

熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。

(可将每段程序保存为一个.m文件)1.直方图均衡化clear all; close all % Clear the MATLAB workspace of any variables% and close open figure windows.I = imread('pout.tif'); % Reads the sample images ‘pout.tif’, and stores it inimshow(I) % an array named I.display the imagetext(60,20,'李荣桉1909290239','horiz','center','color','r')figure, imhist(I) % Create a histogram of the image and display it in% a new figure window.[I2,T] = histeq(I); % Histogram equalization.figure, imshow(I2) % Display the new equalized image, I2, in a new figure window.text(60,20,'李荣桉1909290239','horiz','center','color','r')figure, imhist(I2) % Create a histogram of the equalized image I2.figure,plot((0:255)/255,T); % plot the transformation curve.imwrite (I2, 'pout2.png'); % Write the newly adjusted image I2 to a disk file named% ‘pout2.png’.imfinfo('pout2.png') % Check the contents of the newly written file2.直接灰度变换clear all; close allI = imread('cameraman.tif'); 注意:imadjust()功能:调整图像灰度值或颜色映像表,也可实现伽马校正。

数字图像处理MATLAB程序完整版

数字图像处理MATLAB程序完整版

第一部分数字图像处理实验一图像的点运算实验1.1 直方图一.实验目的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、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2 灰度均衡一.实验目的1.熟悉matlab图像处理工具箱中灰度均衡函数的使用;2.理解和掌握灰度均衡原理和实现方法;二.实验设备1.PC机一台;2.软件matlab;三.程序设计在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。

I=imread('cameraman.tif');%读取图像subplot(2,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(2,2,3),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题a=histeq(I,256); %直方图均衡化,灰度级为256subplot(2,2,2),imshow(a) %输出均衡化后图像title('均衡化后图像') %在均衡化后图像中加标题subplot(2,2,4),imhist(a) %输出均衡化后直方图title('均衡化后图像直方图') %在均衡化后直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。

《数字图像处理》实验教案

《数字图像处理》实验教案

一、实验目的与要求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中图像的读取和显示方法,熟悉图像处理的基本界面。

数字图像处理实验matlab

数字图像处理实验matlab

计算机图像处理:学号:班级:实验一:了解数字图像处理平台一、实验目的(1)学会使用扫描仪;(2)熟悉MATLAB软件。

二、实验容(1)用扫描仪扫一幅彩色图片;一幅灰度图片。

(2)熟悉MATLAB的主界面窗口中各个窗口的功能,利用不同的矩阵输入方式给矩阵赋值,了解MATLAB的简单编程及矩阵基本知识;(3)掌握使用MATLAB的帮助来获得更多的信息。

三、实验仪器设备扫描仪、计算机和MATLAB应用软件。

实验二:图像处理一、实验目的(1)通过应用MATLAB语言编程实现对图像的处理,进一步熟悉MATLAB软件的编程及应用;(2)通过实验进一步掌握图像处理的基本技术和方法。

二、实验容1.应用MATLAB语言编写显示一幅灰度图像、二值图像、索引图像及彩色图像的程序,并进行相互之间的转换。

显示原始图像:>>I=imread('D:\tu.jpg');>> imshow(I);RGB 灰度图像: 代码:>> I=imread('D:\tu.JPEG'); >> imshow(I)>> graytu=rgb2gray(I); >> subplot(1,2,1); >> subimage(I); >> subplot(1,2,2); >> subimage(graytu) 效果:1002003004005010015020025030010020030040050100150200250300RGB 转二值图像: 代码:>> [indtu,map]=rgb2ind(I,0.5); >> subplot(1,2,1); >> subimage(I); >> subplot(1,2,2); >> subimage(indtu,map) 效果:100200300400100200300100200300400100200300索引转RGB 图像: 代码:>> I1=ind2rgb(indtu,map); >> subplot(1,2,1);>> subimage(indtu,map); >> subplot(1,2,2); >> subimage(I1) 效果:100200300400100200300100200300400100200300索引转灰度图像: 代码:>> I2gtu=ind2gray(indtu,map); >> subplot(1,2,1);>> subimage(indtu,map); >> subplot(1,2,2); >> subimage(I2gtu) 效果:100200300400100200300100200300400100200300灰度转索引图像: 代码:[g2itu,map]=gray2ind(graytu,64); >> subplot(1,2,1); >> subimage(graytu); >> subplot(1,2,2); >> subimage(g2itu,map) 效果:100200300400100200300100200300400100200300RGB 转二值图像: 代码:>> r2bwtu1=im2bw(I,0.8); >> subplot(1,2,1); >> subimage(I); >> subplot(1,2,2);>> subimage(r2bwtu1)代码: 效果:100200300400100200300100200300400100200300灰度转二值图像 代码:g2bwtu1=im2bw(graytu,0.8); >> subplot(1,2,1); >> subimage(graytu); >> subplot(1,2,2); >> subimage(g2bwtu1) 效果:100200300400100200300100200300400100200300索引转二值图像 代码:>> i2bwtu=im2bw(indtu,map,0.5); >> subplot(1,2,1);>> subimage(indtu,map); >> subplot(1,2,2); >> subimage(i2bwtu) 效果:1002003004001002003001002003004001002003002. 应用MATLAB 工具箱演示一幅图像的傅里叶变换、离散余弦变换,观察其频谱图,然后将它们进行逆变换,观察逆变换后的图像 (1) 傅里叶正变换 代码:>> F=fft2(graytu); >> subplot(1,2,1); >> subimage(graytu); >> subplot(1,2,2);>> subimage(log(abs(F)),[3,10]) 效果:100200300400100200300100200300400100200300(2) 傅里叶反变换 代码:>> IF=ifft2(F); >> subplot(1,2,1);>> subimage(log(abs(F)),[3,10]); >> subplot(1,2,2); >> subimage(uint8(IF)) 效果:100200300400100200300100200300400100200300(3) DCT 变换 代码:>> B=dct2(graytu); >> subplot(1,2,1); >> subimage(graytu); >> subplot(1,2,2);>> subimage(log(abs(B)),[3,5]) 效果:100200300400100200300100200300400100200300(4) IDCT 变换 代码:>> iB=idct2(B); >> subplot(1,2,1);>> subimage(log(abs(B)),[3,5]); >> subplot(1,2,2); >> subimage(uint8(iB)) 效果:100200300400100200300100200300400100200300总结:傅里叶变化:傅里叶变换是一种特殊的积分变换。

数字图像处理MATLAB程序

数字图像处理MATLAB程序

数字图象处理MATLAB程序数字图象处理是指对数字图象进行各种操作和处理,以改善图象的质量、增强图象的特征、提取图象的信息等。

MATLAB是一种强大的数值计算和数据可视化软件,也是数字图象处理领域常用的工具之一。

本文将介绍如何使用MATLAB编写数字图象处理程序的标准格式。

一、引言在引言部份,需要对数字图象处理的背景和意义进行简要介绍。

可以从以下几个方面进行描述:1. 数字图象处理的定义和作用;2. 数字图象处理在各个领域的应用,如医学影像、遥感图象等;3. MATLAB在数字图象处理中的重要性和优势。

二、问题描述在问题描述部份,需要明确说明本文将要解决的具体问题。

可以从以下几个方面进行描述:1. 需要进行的数字图象处理操作,如图象增强、图象滤波、图象分割等;2. 需要处理的图象的特点和要求,如图象的大小、图象的格式等;3. 需要实现的目标和效果。

三、方法与算法在方法与算法部份,需要详细介绍用于解决问题的具体方法和算法。

可以从以下几个方面进行描述:1. 图象预处理:对图象进行去噪、灰度化、尺寸调整等预处理操作;2. 图象增强:使用直方图均衡化、滤波器等方法增强图象的对照度和清晰度;3. 图象分割:使用阈值分割、边缘检测等方法将图象分割为不同的区域;4. 特征提取:提取图象的纹理特征、形状特征等;5. 图象重建:根据处理后的图象进行图象重建和修复。

四、MATLAB程序实现在MATLAB程序实现部份,需要给出具体的代码实现,并附上详细的注释。

可以从以下几个方面进行描述:1. 导入图象:使用MATLAB的图象处理工具箱中的函数导入图象;2. 图象预处理:使用MATLAB的函数对图象进行预处理;3. 图象增强:使用MATLAB的函数对图象进行增强;4. 图象分割:使用MATLAB的函数对图象进行分割;5. 特征提取:使用MATLAB的函数提取图象的特征;6. 图象重建:根据处理后的图象进行图象重建和修复。

数字图像处理实验报告(matlab)

数字图像处理实验报告(matlab)

学院:自动化学院班级:电081班姓名:***学号:********2011年10月实验一直方图均衡化一、实验目的:1. 熟悉图像数据在计算机中的存储方式;2. 掌握图像直方图均衡化这一基本处理过程。

二、实验条件:PC微机一台和MATLAB软件。

三、实验内容:1.读入图像数据到内存中,并显示读入的图像;2.实现直方图均衡化处理,显示处理前后图像的直方图。

3.显示并保存处理结果。

四、实验步骤:1.打开Matlab编程环境;2.获取实验用图像。

用’imread’函数将图像读入Matlab;用’imshow’函数显示读入的图像。

3.获取输入图像的直方图:用’imhist’函数处理图像。

4.均衡化处理:用’histeq’函数处理图像即可。

5.获取均衡化后的直方图并显示图像:用’imhist’和’imshow’函数。

6.保存实验结果:用’imwrite’函数处理。

五、实验程序及结果:1、实验程序subplot(6,2,1);i=imread('test1-1.jpg');imhist(i);title('test1-1 hist');subplot(6,2,2);i=im2double(i);imshow(i);title('test1-1 Ô-ͼÏñ');subplot(6,2,3);s=histeq(i);imhist(s);title('test1-1 balancedhist');subplot(6,2,4);imshow(s);title('test1-1 ¾ùºâ»¯ºóµÄͼÏñ');subplot(6,2,5);i=imread('test1-2.jpg');imhist(i);title('test1-2 hist');subplot(6,2,6);i=im2double(i);imshow(i);title('test1-2 Ô-ͼÏñ');subplot(6,2,7);s=histeq(i);imhist(s);title('test1-2 balancedhist'); subplot(6,2,8);imshow(s);title('test1-2 ¾ùºâ»¯ºóµÄͼÏñ');subplot(6,2,9);i=imread('test1-3.jpg');imhist(i);title('test1-3 hist');subplot(6,2,10);i=im2double(i);imshow(i);title('test1-3 Ô-ͼÏñ');subplot(6,2,11);s=histeq(i);imhist(s);title('test1-3 balancedhist'); subplot(6,2,12);imshow(s);title('test1-3 ¾ùºâ»¯ºóµÄͼÏñ');2、实验结果test1-1 hist050100150200250test1-1 原图像test1-1 balancedhist00.10.20.30.40.50.60.70.80.91test1-1 均衡化后的图像test1-2 hist050100150200250test1-2 原图像test1-2 balancedhist00.10.20.30.40.50.60.70.80.91test1-2 均衡化后的图像0test1-3 hist050100150200250test1-3 原图像test1-3 balancedhist00.10.20.30.40.50.60.70.80.91test1-3 均衡化后的图像六、实验思考1.数字图像直方图均衡化之后直方图为什么不是绝对平坦的?答:直方图均衡化是将一已知灰度概率密度分布的图像,经过某种变换,变成一幅具有均匀灰度概率密度分布的新图像。

数字图像处理实验(MATLAB版)

数字图像处理实验(MATLAB版)

数字图像处理实验(MATLAB版)数字图像处理(MATLAB版)实验指导书(试用版)湖北师范学院教育信息与技术学院2009年4月试行目录实验一、数字图像获取和格式转换 2 实验二、图像亮度变换和空间滤波 6 实验三、频域处理7 实验四、图像复原9 实验五、彩色图像处理101实验六、图像压缩11 实验七、图像分割13 教材与参考文献142《数字图像处理》实验指导书实验一、数字图像获取和格式转换一、实验目的1掌握使用扫描仪、数码相机、数码摄像级机、电脑摄像头等数字化设备以及计算机获取数字图像的方法;2修改图像的存储格式;并比较不同压缩格式图像的数据量的大小。

二、实验原理数字图像获取设备的主要性能指标有x、y方向的分辨率、色彩分辨率(色彩位数)、扫描幅面和接口方式等。

各类设备都标明了它的光学分辨率和最大分辨率。

分辨率的单位是dpi,dpi是英文Dot Per Inch的缩写,意思是每英寸的像素点数。

扫描仪扫描图像的步骤是:首先将欲扫描的原稿正面朝下铺在扫描仪的玻璃板上,原稿可以是文字稿件或者图纸照片;然后启3动扫描仪驱动程序后,安装在扫描仪内部的可移动光源开始扫描原稿。

为了均匀照亮稿件,扫描仪光源为长条形,并沿y方向扫过整个原稿;照射到原稿上的光线经反射后穿过一个很窄的缝隙,形成沿x方向的光带,又经过一组反光镜,由光学透镜聚焦并进入分光镜,经过棱镜和红绿蓝三色滤色镜得到的RGB三条彩色光带分别照到各自的CCD 上,CCD将RGB光带转变为模拟电子信号,此信号又被A/D变换器转变为数字电子信号。

至此,反映原稿图像的光信号转变为计算机能够接受的二进制数字电子信号,最后通过串行或者并行等接口送至计算机。

扫描仪每扫一行就得到原稿x方向一行的图像信息,随着沿y方向的移动,在计算机内部逐步形成原稿的全图。

扫描仪工作原理见图1.1。

4图1.1扫描仪的工作原理在扫描仪的工作过程中,有两个元件起到了关键的作用。

一个是CCD,它将光信号转换成为电信号;另一个是A/D变换器,它将模拟电信号变为数字电信号。

数字图像处理实习1—Matlab图像处理初步

数字图像处理实习1—Matlab图像处理初步

实验1——Matlab图像处理初步
实验目的:熟悉Matlab语言关于图像处理的基本操作
实验内容:练习imread、imshow、iminfo、imwrite、subplot、for等命令以及矩阵计算有关命令。

实验要求:
1、读取并显示cameraman.tif图像(提示:imread)。

2、将图像中间的1/3部分(如图)分别作如下处理,其余部分不变
a) 每个像素点的值都乘以2,即f(x,y)=2*f(x,y),显示处理前后的图像(提
示:imshow),同一个图像窗口左右显示(提示:subplot),左边显示原
始图像,右边显示处理后图像,处理后图像保存为cameraman1.bmp(提
示:imwrite)
b) 每个像素点取反色,即f(x,y)=255-f(x,y);显示处理前后的图像,同一个
图像窗口上下显示(提示:subplot),上边显示原始图像,下边显示处理
后图像,处理后图像保存为cameraman2.bmp(提示:imwrite)
3、撰写实验报告并附上所用程序和结果。

f=imread('cameraman.tif');
[m n]=size(f);
g=f;
r=round(m/3);
c=round(n/3);
for i=r:2*r
for j=c:2*c
g(i,j)=2*f(i,j);
end
end
subplot(2,1,1),imshow(f);
subplot(2,1,2),imshow(g);
imwrite(g,'cameraman1.bmp','bmp');
2013-12-16。

数字图像处理实验程序MATLAB

数字图像处理实验程序MATLAB

实验一内容(一)(1)彩色图像变灰度图像A=imread('1.jpg');B=rgb2gray(A);figuresubplot(1,2,1),imshow(A)title('原图')subplot(1,2,2),imshow(B)title('原图灰度图像')(2)彩色图像变索引图像A=imread('1.jpg');figuresubplot(1,2,1),imshow(A)title('原图')[X,map]=rgb2ind(A,128);subplot(1,2,2),imshow(X,map)title('原图索引图像')(3)彩色图像变二值图像A=imread('1.jpg');figuresubplot(1,2,1),imshow(A)title('原图')C=im2bw(A,0.2);subplot(1,2,2),imshow(C)title('原图二值图像')(4)灰度图像变索引图像(一)A=imread('1.jpg');figureB=rgb2gray(A);subplot(1,2,1),imshow(B)title('灰度图像')C=grayslice(B,39);subplot(1,2,2),imshow(C)title('灰度变索引图像')(5)灰度图像变索引图像(二)A=imread('1.jpg');figureB=rgb2gray(A);subplot(1,2,1),imshow(B)title('灰度图像')[X,map]=gray2ind(B,63);subplot(1,2,2),imshow(X,map)title('灰度变索引图像')(6)灰度图像变彩色图像A=imread('1.jpg');figureB=rgb2gray(A);subplot(1,2,1),imshow(B)title('灰度图像')C=gray2rgb(B,map);subplot(1,2,2),imshow(C)title('灰度变彩色图像')内容(二)(1)灰度平均值A=imread('1.jpg');figureB=rgb2gray(A);subplot(1,2,1),imshow(B)title('灰度图像')B=double(B);[m,n]=size(B);sumg=0.0;for i=1:m;for j=1:n;sumg=sumg+B(i,j);endendavg=sumg/(m*n) % 均值maxg=max(max(B)) % 区域最大灰度ming=min(min(B)) % 区域最小灰度(2)彩色平均值figureimshow(A)title('彩色图像')A=double(A);[m,n]=size(A);sumg=0.0;for i=1:m;for j=1:n;sumg=sumg+A(i,j);endendavg=sumg/(m*n)squre=m*nmaxg=max(max(A))ming=min(min(A))内容(三)采样量化实验二图像变换傅里叶变换、反变换、I=imread('19.jpg');A=rgb2gray(I);x1=fft2(A);x2=fftshift(x1);x3=ifft(x1)/10;figure,subplot(1,4,1);imshow(A)title('原图');subplot(1,4,2);imshow(x1)title('频谱图');subplot(1,4,3);imshow(log(abs(x2)+1),[0 10]);title('直流分量移至频谱图中心');subplot(1,4,4);imshow(x3,[0 10])title('傅里叶反变换');DCT变换、反变换I=rgb2gray(X);subplot(1,3,1);imshow(I);title('原图');subplot(1,3,2);J=dct2(I);imshow(log(abs(J)),[0 20]);title('二维离散余弦变换');subplot(1,3,3);K=idct2(J)/20;imshow(K,[0 20]);title('二维离散反余弦变换');利用DCT变换压缩图像I=imread('19.jpg');A=rgb2gray(I);B=DCT2(A);B(abs(B)<0.1)=0;C=idct2(B)/255;figure,subplot(1,3,1);imshow(A);title('原图');subplot(1,3,2);imshow(B);title('二维离散余弦变换频谱图');subplot(1,3,3);imshow(C);title('压缩后图像');实验三图像增强(一)灰度图像增强(1)线性变换法clc;clear all;I=imread('19.jpg');A=rgb2gray(I);colormap;imshow(A);%设置图像倒数参数j=imadjust(A,[0 1],[1 0],1.5);figure;subimage(j)(2)灰度图像的非线性变换(之对数)I=imread('19.jpg');colormapimshow(I)J=double(I);J=45*log(J+1);I=uint8(J);figure,subimage(J)(二)直方图校正直方图均衡I=imread('19.jpg');B=rgb2gray(I);imshow(B,[40 255]);figure,imhist(B)title('直方图')J=imadjust(B,[0.15 0.9],[0 1]); figure,imhist(B,64)title('均衡直方图')滤波I=imread('19.jpg');figure,B=rgb2gray(I);C=imnoise(B,'salt & pepper',0.02);D=imfilter(B,fspecial('average',3)); E=medfilt2(B);subplot(1,3,2)imshow(D)title('均值滤波')subplot(1,3,3)imshow(D)title('中值滤波')subplot(1,3,1)imshow(C)title('加入椒盐噪声图像')锐化处理I=imread('19.jpg');A=rgb2gray(I);figure,subplot(2,3,1),imshow(A);title('原图');hs=fspecial('sobel');S=imfilter(A,hs);hp=fspecial('prewitt');P=imfilter(A,hs);A=double(A);%双精度型H=[0 1 0,1 -4 1,0 1 0];%拉普拉斯算子J=conv2(A,H,'same');K=A-J;subplot(2,3,2),imshow(K);title('拉普拉斯锐化图像');B=edge(A,'roberts',0.1);subplot(2,3,3),imshow(B);title('罗伯特锐化图像');subplot(2,3,4),imshow(S);title('sobel算子锐化图像');subplot(2,3,5),imshow(P);title('prewitt算子锐化图像');实验四放缩A=imread('19.jpg');imshow(A);title('原图')B=imresize(A,2)figure,imshow(B);title('二倍图')C=imresize(A,0.5)figureimshow(C)title('二分之一图')旋转A=imread('19.jpg');figuresubplot(1,4,1),imshow(A);title('原图像')B=imrotate(A,30,'nearest');subplot(1,4,2),imshow(uint8(B));title('旋转30度图像')C=imrotate(A,45,'nearest');subplot(1,4,3),imshow(uint8(C));title('旋转45度图像')D=imrotate(A,60,'nearest');subplot(1,4,4),imshow(uint8(D));title('旋转60度图像')镜像A1=imread('19.jpg');A1=double(A1);Figure,subplot(1,4,1),imshow(uint8(A1));H=size(A1);title('原像')A2(1:H(1),1:H(2),1:H(3))=A1(H(1):-1:1,1:H(2),1:H(3));%垂直镜像subplot(1,4,2),imshow(uint8(A2));title('垂直镜像')A3(1:H(1),1:H(2),1:H(3))=A1(1:H(1),H(2):-1:1,1:H(3));%水平镜像subplot(1,4,3),imshow(uint8(A3));title('水平镜像')A4(1:H(1),1:H(2),1:H(3))=A1(H(1):-1:1,H(2):-1:1,1:H(3));%对角镜像subplot(1,4,4),imshow(uint8(A4));title('对角镜像')剪切A1=imread('19.jpg');A2=imcrop(A1,[75 68 100 110]);figuresubplot(1,2,1),imshow(A1);title('原像')subplot(1,2,2),imshow(A2);title('剪切后像')实验五阈值分割A=imread('19.jpg');figuresubplot(1,4,1),imshow(A);title('原图像')B=im2bw(A,91/255);subplot(1,4,2),imshow(B);title('阈值91的图像')C=im2bw(A,71/255);subplot(1,4,3),imshow(C);title('阈值71的图像')D=im2bw(A,140/255);subplot(1,4,4),imshow(D);title('阈值140的图像')边缘检测I=imread('19.jpg');A=rgb2gray(I);figuresubplot(1,4,1),imshow(A);title('原图像')B=edge(A,'sobel',0.1);%edge边缘检测函数subplot(1,4,2),imshow(B);title('sobel算子检测')C=edge(A,'roberts',0.1);%0.1为门限subplot(1,4,3),imshow(C);title('roberts算子检测')D=edge(A,'prewitt',0.1);subplot(1,4,4),imshow(D);title('prewitt算子检测')所谓数字图像处理[7]就是利用计算机对图像信息进行加工以满足人的视觉心理或者应用需求的行为。

数字图像处理MATLAB程序 实验大纲

数字图像处理MATLAB程序  实验大纲

实验一图像的点运算实验1.1 直方图一.实验目的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、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2 直方图均衡化一.实验目的1.熟悉matlab图像处理工具箱中直方图均衡化函数的使用;2.理解和掌握直方图均衡化原理和实现方法;二.实验设备1.PC机一台;2.软件matlab;三.程序设计在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。

I=imread('cameraman.tif');%读取图像subplot(2,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(2,2,3),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题a=histeq(I,256); %直方图均衡化,灰度级为256subplot(2,2,2),imshow(a) %输出均衡化后图像title('均衡化后图像') %在均衡化后图像中加标题subplot(2,2,4),imhist(a) %输出均衡化后直方图title('均衡化后图像直方图') %在均衡化后直方图上加标题四.实验步骤1. 启动matlab:双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一内容(一)(1)彩色图像变灰度图像A=imread('1.jpg');B=rgb2gray(A);figuresubplot(1,2,1),imshow(A)title('原图')subplot(1,2,2),imshow(B)title('原图灰度图像')(2)彩色图像变索引图像A=imread('1.jpg');figuresubplot(1,2,1),imshow(A)title('原图')[X,map]=rgb2ind(A,128);subplot(1,2,2),imshow(X,map)title('原图索引图像')(3)彩色图像变二值图像A=imread('1.jpg');figuresubplot(1,2,1),imshow(A)title('原图')C=im2bw(A,0.2);subplot(1,2,2),imshow(C)title('原图二值图像')(4)灰度图像变索引图像(一)A=imread('1.jpg');figureB=rgb2gray(A);subplot(1,2,1),imshow(B)title('灰度图像')C=grayslice(B,39);subplot(1,2,2),imshow(C)title('灰度变索引图像')(5)灰度图像变索引图像(二)A=imread('1.jpg');figureB=rgb2gray(A);subplot(1,2,1),imshow(B)title('灰度图像')[X,map]=gray2ind(B,63);subplot(1,2,2),imshow(X,map)title('灰度变索引图像')(6)灰度图像变彩色图像A=imread('1.jpg');figureB=rgb2gray(A);subplot(1,2,1),imshow(B)title('灰度图像')C=gray2rgb(B,map);subplot(1,2,2),imshow(C)title('灰度变彩色图像')内容(二)(1)灰度平均值A=imread('1.jpg');figureB=rgb2gray(A);subplot(1,2,1),imshow(B)title('灰度图像')B=double(B);[m,n]=size(B);sumg=0.0;for i=1:m;for j=1:n;sumg=sumg+B(i,j);endendavg=sumg/(m*n) % 均值maxg=max(max(B)) % 区域最大灰度ming=min(min(B)) % 区域最小灰度(2)彩色平均值figureimshow(A)title('彩色图像')A=double(A);[m,n]=size(A);sumg=0.0;for i=1:m;for j=1:n;sumg=sumg+A(i,j);endendavg=sumg/(m*n)squre=m*nmaxg=max(max(A))ming=min(min(A))内容(三)采样量化实验二图像变换傅里叶变换、反变换、I=imread('19.jpg');A=rgb2gray(I);x1=fft2(A);x2=fftshift(x1);x3=ifft(x1)/10;figure,subplot(1,4,1);imshow(A)title('原图');subplot(1,4,2);imshow(x1)title('频谱图');subplot(1,4,3);imshow(log(abs(x2)+1),[0 10]);title('直流分量移至频谱图中心');subplot(1,4,4);imshow(x3,[0 10])title('傅里叶反变换');DCT变换、反变换I=rgb2gray(X);subplot(1,3,1);imshow(I);title('原图');subplot(1,3,2);J=dct2(I);imshow(log(abs(J)),[0 20]);title('二维离散余弦变换');subplot(1,3,3);K=idct2(J)/20;imshow(K,[0 20]);title('二维离散反余弦变换');利用DCT变换压缩图像I=imread('19.jpg');A=rgb2gray(I);B=DCT2(A);B(abs(B)<0.1)=0;C=idct2(B)/255;figure,subplot(1,3,1);imshow(A);title('原图');subplot(1,3,2);imshow(B);title('二维离散余弦变换频谱图');subplot(1,3,3);imshow(C);title('压缩后图像');实验三图像增强(一)灰度图像增强(1)线性变换法clc;clear all;I=imread('19.jpg');A=rgb2gray(I);colormap;imshow(A);%设置图像倒数参数j=imadjust(A,[0 1],[1 0],1.5);figure;subimage(j)(2)灰度图像的非线性变换(之对数)I=imread('19.jpg');colormapimshow(I)J=double(I);J=45*log(J+1);I=uint8(J);figure,subimage(J)(二)直方图校正直方图均衡I=imread('19.jpg');B=rgb2gray(I);imshow(B,[40 255]);figure,imhist(B)title('直方图')J=imadjust(B,[0.15 0.9],[0 1]); figure,imhist(B,64)title('均衡直方图')滤波I=imread('19.jpg');figure,B=rgb2gray(I);C=imnoise(B,'salt & pepper',0.02);D=imfilter(B,fspecial('average',3)); E=medfilt2(B);subplot(1,3,2)imshow(D)title('均值滤波')subplot(1,3,3)imshow(D)title('中值滤波')subplot(1,3,1)imshow(C)title('加入椒盐噪声图像')锐化处理I=imread('19.jpg');A=rgb2gray(I);figure,subplot(2,3,1),imshow(A);title('原图');hs=fspecial('sobel');S=imfilter(A,hs);hp=fspecial('prewitt');P=imfilter(A,hs);A=double(A);%双精度型H=[0 1 0,1 -4 1,0 1 0];%拉普拉斯算子J=conv2(A,H,'same');K=A-J;subplot(2,3,2),imshow(K);title('拉普拉斯锐化图像');B=edge(A,'roberts',0.1);subplot(2,3,3),imshow(B);title('罗伯特锐化图像');subplot(2,3,4),imshow(S);title('sobel算子锐化图像');subplot(2,3,5),imshow(P);title('prewitt算子锐化图像');实验四放缩A=imread('19.jpg');imshow(A);title('原图')B=imresize(A,2)figure,imshow(B);title('二倍图')C=imresize(A,0.5)figureimshow(C)title('二分之一图')旋转A=imread('19.jpg');figuresubplot(1,4,1),imshow(A);title('原图像')B=imrotate(A,30,'nearest');subplot(1,4,2),imshow(uint8(B));title('旋转30度图像')C=imrotate(A,45,'nearest');subplot(1,4,3),imshow(uint8(C));title('旋转45度图像')D=imrotate(A,60,'nearest');subplot(1,4,4),imshow(uint8(D));title('旋转60度图像')镜像A1=imread('19.jpg');A1=double(A1);Figure,subplot(1,4,1),imshow(uint8(A1));H=size(A1);title('原像')A2(1:H(1),1:H(2),1:H(3))=A1(H(1):-1:1,1:H(2),1:H(3));%垂直镜像subplot(1,4,2),imshow(uint8(A2));title('垂直镜像')A3(1:H(1),1:H(2),1:H(3))=A1(1:H(1),H(2):-1:1,1:H(3));%水平镜像subplot(1,4,3),imshow(uint8(A3));title('水平镜像')A4(1:H(1),1:H(2),1:H(3))=A1(H(1):-1:1,H(2):-1:1,1:H(3));%对角镜像subplot(1,4,4),imshow(uint8(A4));title('对角镜像')剪切A1=imread('19.jpg');A2=imcrop(A1,[75 68 100 110]);figuresubplot(1,2,1),imshow(A1);title('原像')subplot(1,2,2),imshow(A2);title('剪切后像')实验五阈值分割A=imread('19.jpg');figuresubplot(1,4,1),imshow(A);title('原图像')B=im2bw(A,91/255);subplot(1,4,2),imshow(B);title('阈值91的图像')C=im2bw(A,71/255);subplot(1,4,3),imshow(C);title('阈值71的图像')D=im2bw(A,140/255);subplot(1,4,4),imshow(D);title('阈值140的图像')边缘检测I=imread('19.jpg');A=rgb2gray(I);figuresubplot(1,4,1),imshow(A);title('原图像')B=edge(A,'sobel',0.1);%edge边缘检测函数subplot(1,4,2),imshow(B);title('sobel算子检测')C=edge(A,'roberts',0.1);%0.1为门限subplot(1,4,3),imshow(C);title('roberts算子检测')D=edge(A,'prewitt',0.1);subplot(1,4,4),imshow(D);title('prewitt算子检测')所谓数字图像处理[7]就是利用计算机对图像信息进行加工以满足人的视觉心理或者应用需求的行为。

相关文档
最新文档