实验一 数字图像malab基本操作
- 格式:pdf
- 大小:153.18 KB
- 文档页数:4
温州大学物理与电子信息工程学院数字图像处理实验报告课程名称:数字图像处理班级:电信二班姓名:施蒙皎学号:0911*******实验地点:5B311 日期:2011.10.13实验一基于Matlab环境的数字图像的基本操作[实验目的和要求]1、熟悉Matlab处理数字图像的操作环境2、掌握Matlab对数字数字图像的基本操作3、掌握图像类型的相互转换[实验内容]1根据像素间的基本关系,实现对像素间的连通关系。
试求图1的8连通及4连通,并讨论其区别(提示:bwlabel)。
1 0 0 1 01 1 1 0 00 1 1 1 00 0 0 1 1图 1.1 像素图2试对lena图像分别进行4和16倍减采样,查看其减采样效果(提示:quartimg = zeros(wid/2+1,hei/2+1)。
3试将图lena图像,转换成128级灰度图像,64级灰度图像,32级灰度图像,8级灰度图像和2级灰度图像。
(提示:for i = 1:widfor j = 1:heiimg64(i,j) = floor(b(i,j)/4);endend)4 实现图像类型的相互转换(RGB、索引转换成灰度和二值图像)。
实验结果及分析:1.2.a=imread('C:\Documents and Settings\Administrator\桌面\lena.JPG'); b=rgb2gray(a);[wid,hei]=size(b);%4倍减采样quartimg=zeros(wid/2+1,hei/2+1);i1=1;j1=1;for i=1:2:10for j=1:2:heiquartimg(i1,j1)=b(i,j);j1=j1+1;endi1=i1+1;j1=1;endfigureimshow(uint8(quartimg))%16倍减采样quartimg=zeros(wid/4+1,hei/4+1);i1=1;j1=1;for i=1:4:widfor j=1:4:heiquartimg(i1,j1)=b(i,j);j1=j1+1;endi1=i1+1;j1=1;endfigureimshow(uint8(quartimg))3.a=imread('C:\Documents and Settings\Administrator\桌面\lena.jpg');b=rgb2gray(a);figureimshow(b)[wid,hei]=size(b);img128=zeros(wid,hei);img64=zeros(wid,hei);img32=zeros(wid,hei);img8=zeros(wid,hei);img2=zeros(wid,hei);for i=1:widfor j=1:heiimg64(i,j)=floor(b(i,j)/2);endendfigureimshow(uint8(img128),[0,127]) for i=1:widfor j=1:heiimg64(i,j)=floor(b(i,j)/4);endendfigureimshow(uint8(img64),[0,63]) for i=1:widfor j=1:heiimg32(i,j)=floor(b(i,j)/8);endendfigureimshow(uint8(img32),[0,31]) for i=1:widfor j=1:heiimg8(i,j)=floor(b(i,j)/32);endendfigureimshow(uint8(img8),[0,7])for i=1:widfor j=1:heiimg2(i,j)=floor(b(i,j)/128);endendfigureimshow(uint8(img2),[0,2])4.a=imread('C:\Documents and Settings\Administrator\桌面\lena.jpg'); b=rgb2gray(a);figureimshow(b)d=im2bw(a);figureimshow(d)评定成绩:。
实验一数字图像的基本操作与代数运算一、实验目的1、了解MATLAB语言的基本用法;2、掌握MATLAB语言中图像数据与信息的读写方法;3、熟悉在MA TLAB中对图像的类型、图像文件的格式进行转换的方法;4、理解数字图像处理中代数运算的基本作用;掌握在MTLAB中对图像进行代数运算的方法。
二、实验原理1、MATLAB与数字图像处理MATLAB全称是Matrix Laboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件,从这一点上也可以看出,它在矩阵运算上有自己独特的特点。
实际上MA TLAB 中的绝大多数的运算都是通过矩阵这一形式进行的。
这一特点也就决定了MATLAB在处理数字图像上的独特优势。
理论上讲,图像是一种二维的连续函数,然而在计算机上对图像进行数字处理的时候,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。
二维图像进行均匀采样,就可以得到一幅离散化成M×N样本的数字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的了。
而MA TLAB的长处就是处理矩阵运算,因此用MA TLAB处理数字图像非常的方便。
MATLAB支持五种图像类型,即索引图像、灰度图像、二值图像、RGB图像和多帧图像阵列;支持BMP、GIF、HDF、JPEG、PCX、PNG、TIFF、XWD、CUR、ICO等图像文件格式的读、写和显示。
MA TLAB对图像的处理功能主要集中在它的图像处理工具箱(Image Processing Toolbox)中。
图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、二值图像操作以及形态学处理等图像处理操作。
2、MATLAB语言的基本操作MATLAB语言是一种运算纸型的运算语言,其特点就是与平时在运算纸上书写运算的形式相同,这使得它成为一种比较容易掌握的语言;其变量均以矩阵向量形式表示(单独一个数据可以认为是一维向量);其程序语法类似于C语言,只要有一点C语言基础的人可以很快掌握。
第一部分数字图像处理实验一图像的点运算实验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及其图像处理工具箱的使用一、实验目的与要求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图像基本操作命令一、实验目的本次实验是基础实验,旨在加强学生的实验操作水平和使用MTALB软件能力,包括以下几个部分:a)开始使用MA TLABb)显示图像,理解图像的模型c)使用图像的不同格式,理解图像压缩的意义d)对图像做简单的操作本次实验需要熟练使用以下几个MA TLAB命令:imread, imwrite, imshow,figure二、实验准备实验基于MA TLAB软件,实验课开始前安装好MA TLAB软件以及相关的实验数据三、实验步骤a)开始使用MA TLABMA TLAB软件安装好后在其安装目录下有一个work文件夹,是MA TLAB的默认工作目录。
将本目录下的实验图像拷入MA TLAB下的work文件夹内。
实验图像一文件夹中放置了作为本次实验素材的原始图像。
启动Matlab。
图1 MA TLAB启动后在图1所指示command window窗口中键入cd pic命令,如图2所示。
以后的操作都在”>>”后键入命令。
图2 MA TLAB启动后b)显示图象1.显示灰度图像命令格式Image=imread('灰度图像文件名');imshow(Image,[])此实验分两步完成,先用imread命令将图像文件读入图像像素矩阵Image,然后用imshow命令将该矩阵在屏幕上显示,如图3所示。
其中‘灰度图像文件名’必须是pic 文件夹中所包含灰度图像的名字。
例1Image=imread('aa.bmp ');imshow(Image,[]);图3为执行的结果。
图32.彩色图像显示和分解将三维像素值矩阵分解成三个矩阵,并将它们分别显示出来,可以看到RGB文件的三原色分解。
命令格式Image=imread('彩色图像文件名');imshow(Image,[]);imread和imshow也用来显示彩色图像,其中‘彩色图像文件名’必须是pic文件夹中所包含彩色图像的名字。
实验一图像的基本操作和基本统计指标计算一、实验目的熟悉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(编码方法)等。
学院:自动化学院班级:电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图像处理工具箱一.实验目的:1.熟悉matlab图像处理工具箱;2.了解图像处理的函数及使用方法;3.学会简单的图像处理方法;二.实验原理1.二值图像二值图像是一种简单的图像格式,“0”表示黑色像素点,“255”表示白色像素点,二值图像处理运算是从数学形态学下的集合论发展起来的,基本运算比较简单,却可以产生复杂的效果。
2.反色图像对于彩色图像的R,G,B各彩色分量取反的技术就是反色处理,这在二值化图像的连通区域选取的时候非常重要,如物体连通域用黑色表示,而二值化后的物体连通域图像可那是白色的,二背景是黑色的,这时应手动选取图像的反色处理或有程序根据背景和物体连通域两种颜色的数量所占比例而自动选择是否选取图像的反色处理。
3.水平镜像图像的水平镜像是指将指定区域的图像以原图像的垂直中轴线为中心,将图像分为左右两部分进行对称变换显示在屏幕。
水平镜像时每行图像信息的处理方式是相同的,而且行顺序不发生变化,只是每一行的像素信息按从左到右的顺序进行了左右颠倒,所以镜像后图像的高和宽不变。
设图像的高度为Height,宽度为width,原图中坐标为(x0,y0)的点经过水平镜像后,则点(x0,y0)的坐标为(x1,y1)。
(x0,y0)和(x1,y1)的关系如下:x1=Width-x0 y1=y04.垂直翻转图像的翻转有两种,一种是水平翻转,一种是垂直翻转。
水平翻转会产生左右对调的图像,垂直翻转会产生上下对调的图像。
5.旋转30度如果果一个点(x1,y1)旋转到(x2,y2),对应的角度旋转从θ1到θ1+θ2sinθ1=y1/sqrt(x1*x1+ y1*y1)cosθ1=x1/sqrt(x1*x1+ y1*y1)sin(θ1+θ2)=sin(θ1)*cos(θ2)+cos(θ1)*sin(θ2)=y2/sqrt(x2*x2+y2*y2);cos(θ1+θ2)=cos(θ1)*cos(θ2)-sin(θ1)*sin(θ2)=x2/sqrt(x2*x2+y2*y2)。