实验一 数字图像malab基本操作
实验1-Matlab基本与图像处理基本操作

图像处理工具箱简介
01
MATLAB图像处理工具箱是MATLAB软件中一个专门用于图像处理的工具箱, 它提供了一套完整的图像处理和分析工具,包括图像读取、显示、变换、滤波 、增强、分割、特征提取等功能。
02
该工具箱支持多种图像格式,如BMP、JPG、PNG、TIFF等,并提供了丰富的 图像处理函数和算法,方便用户进行图像处理和分析。
对未来学习的展望
• 深入学习图像处理算法:在未来的学习中,我们将进一步深入学习图像处理的 各种算法和原理,包括图像分割、特征提取、目标检测等,以便更好地应用在 实际问题中。
• 掌握更多图像处理软件:除了Matlab软件外,我们还将学习掌握其他常用的 图像处理软件,如OpenCV、Python图像处理库等,以便更灵活地处理各种 图像问题。
02
学习图像处理基本 操作
了解图像处理基本概念,学习图 像读取、显示、保存等基本操作。
03
掌握图像处理常用 函数
熟悉MATLAB中图像处理工具箱 的常用函数,如图像调整、滤波、 边缘检测等。
实验环境准备
MATLAB软件
确保计算机已安装MATLAB软件,并熟悉软件基 本操作。
图像处理工具箱
安装并配置MATLAB图像处理工具箱,以便进行 图像处理实验。
• 加强实验数据分析处理能力:在未来的实验中,我们将更加注重实验数据的分 析和处理,学习掌握更多的数据处理方法和技巧,以便更准确地评估实验结果 和性能。
• 拓展应用领域:图像处理技术在实际应用中具有广泛的应用领域,如医学影像 处理、智能交通、安全监控等。在未来的学习中,我们将积极探索这些应用领 域,并尝试将所学的图像处理技术应用到实际问题中。
使用图像处理工具箱中的特 征提取函数和分类器函数, 对图像进行特征提取和分类 识别。例如,可以使用灰度 共生矩阵提取图像纹理特征, 然后使用支持向量机(SVM) 进行分类识别。
实验一 基于Matlab环境的数字图像的基本操作

温州大学物理与电子信息工程学院数字图像处理实验报告课程名称:数字图像处理班级:电信二班姓名:施蒙皎学号: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语言基础的人可以很快掌握。
(完整版)数字图像处理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及其图像处理工具箱的使用一、实验目的与要求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基本操作 》

武汉工程大学
《数字图像处理》实验报告2
专业班级
实验时间
学生学号
实验地点
学生姓名
指导教师
实验项目
数字图像基本操作
实验类别
基础性
实验学时
%读入原始图像
f=imread('pollen.tif');
%显示原始图像
subplot(3,2,1);imshow(f);
title('original image');
subplot(3,2,2);imhist(f);
title('original image histogram');
%将原始图像均衡化,目的是与后面的规定化做对比
subplot(121),imshow(a);
title('原图为:');
subplot(122),imshow(c); %显示处理后的图像
title('均衡化后的图为:');
通过以上变换后总的效果为:
%读入原始图像
f=imread('pollen.tif');
%显示原始图像
iptsetpref('ImshowAxesVisible','on')
c2=A2*(1/((2*pi)^0.5)*sig2); %设置c2=A2*(1/sqrt(2*pi)*sig)),即高斯函数的系数部分;
k2=2*(sig2^2); %设置指数部分的分母,即(1/2*sig^2),同上
(学习matlab基本实验) MATLAB图像基本操作命令

实验一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(编码方法)等。
数字图像处理实验报告(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图像处理工具箱一.实验目的: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)。
实验一 数字图像的基本操作与代数运算

Filename: 'D:\MATLAB6p1\toolbox\images\imdemos\rice.tif'
FileModDate: '26-Oct-1996 06:11:58' FileSize: 65966 Format: 'tif'
FormatVersion: [] Width: 256
实验一 数字图像的基本操作与代数运算
一、实验目的
1、 了解 MATLAB 语言的基本用法; 2、 掌握 MATLAB 语言中图像数据与信息的读写方法; 3、 熟悉在 MATLAB 中对图像的类型、图像文件的格式进行转换的方法; 4、 理解数字图像处理中代数运算的基本作用;掌握在 MTLAB 中对图像进行代数运算
(b)imwrite
imwrite 函数用于输出图像,其语法格式为:
imwrite(X, MAP, filename, fmfmt 指定的格式将图像数据矩阵 X 和调色板 MAP 写入文
件 filename。
(c)imfinfo
imfinfo 函数用于读取图像文件的有关信息,其语法格式为
主要介绍一下如何读取矩阵的指定行或指定列,举例说明: x=4:6 %产生一个一维数组,范围从 4 到 6,步长为 1
实验一 图像的基本操作

实验一 图像的基本操作实验目的1. 学会使用Matlab 软件2. 掌握数字图像的类型及特点3. 掌握图像的结构和采用Matlab 软件打开和保存图像实验器材数字计算机实验步骤1. 认识Matlab 软件的操作界面(1)Command Window 指令窗a )输入完命令后,按回车键指令被执行,如A=[1,2,3;4,5,6;7,8,9]b )Command History 历史命令窗c )Current Directory 当前目录浏览器d )使用帮助——help2. 四种基本的图像类型索引图像:由数据矩阵X和映射矩阵map 组成,数据类型可以是unit8、unit16、double 型,映射矩阵是double 型的m ×3的数组,值为[0,1]之间的浮点值,X 中的值为映射矩阵的索引值灰度图像:可以用一个二维矩阵I 表示,矩阵中的数据表示像素的亮度值,数据类型可以是unit8、unit16、double 型二值图像:图像中的像素值只有两个取值,0或1,对应图像中的黑点和白点RGB 图像:又称真彩色图像,图像中的每个像素点颜色由颜色的三基色给出,R 、G 、B 分别为8位,因此RGB 图像是24位图像3. 对图像的操作(1)学会使用plot 函数例:画出衰减振荡曲线3sin 3t y e t =以及它的包络线30t y e =,t 的取值范围是[0,4]π(写出代码) 0:/50:4*;0e x p (/3);e x p (/3).*s i n (3*);(,,'',,0,':');;t p i p i y t y t t plot t y r t y b grid ==-=-- (2)对图像的操作a )打开图像索引图像的打开:[X ,cmp]=imread(‘trees.tif ’);其它图像的打开:moon=imread(‘moon.tif’);b) 显示图像索引图像:imview(X, cmp);其它图像:imview(moon);其它的显示图像函数:imshow, imtool, 使用方法参见帮助c)保存图像imwrite(X,’lena1.jpg’,’quality’,100);imwrite(X,cmp,’lena2.jpg’,’quality’,100);比较两者存贮结果的不同4. 注意事项:(1)imview函数已经逐渐被imtool函数取代(2)注意图像的路径实验报告(1)写代码:代开C盘根目录下的名为“moon.tif”的图像并显示,最后将图像保存到D盘的根目录下,图像保存的格式为“jpg”型π,(2)写代码:将正弦函数sin(5)=的图形画出,x的取值范围为[0,2]y xπ间隔/50。
数字图像处理实习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图像处理命令及图形基本操作
end
end
end
for i=1:m
for j=1:n
out(i,j,1)=R(i,j);
% imshow(out)
out(i,j,2)=G(i,j);
out(i,j,3)=B(i,j);
end
end
out=out/256;
figure(1),imshow(out)
%imshow(out)
size(out)
imwrite(out,'PseudoColor.tiff');
end
4、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。
RGB=imread('f:\1.jpg')
gray = rgb2gray(RGB)
I = im2bw(RGB,0.5)
subplot(3,1,1);imshow(a);title('原图像');
subplot(3,1,2);imshow(i);title('灰度图像');colormap(gray);
subplot(3,1,3);imshow(I);title('二值图像');
实验结果如图所示:
四、实验总结:
Imread 是读入文件的操作代码,subplot是将多个图画到一个平面上的工具本次实验在老师的带领下熟悉了matlab软件的具体操作
通过书写代码,操作程序实现了灰度图像转换为伪彩色图像;
通过书写代码实现了读入一幅RGB图像,并将其变换为灰度图像和二值图像,然后在同一个窗口中显示RGB图像和灰度图像。
《数字图像处理》数字图像的基本操作实验

《数字图像处理》数字图像的基本操作实验课程名称:数字图像处理实验类型:设计性实验项目名称:数字图像的基本操作一、实验目的和要求熟悉MATLAB图像处理常用工具函数的使用,巩固对子图像几何变换原理的理解。
二、实验内容运用MATLAB工具函数实现图像的平移、镜像、旋转等几何变换。
三、实验步骤及结果图像平移代码:I=imread('cameraman.tif');se=translate(strel(1),[25 25]);J=imdilate(I,se);subplot(1,2,1),imshow(I),title('原图')subplot(1,2,2),imshow(J),title('平移后的图');程序运行结果:图像的镜像程序:A=imread('cameraman.tif');[height,width]=size(A);tform=maketform('affine',[-1 0 0;0 1 0;width 0 1]); B=imtransform(A,tform,'nearest');tform2=maketform('affine',[1 0 0;0 -1 0;0 height 1]); C=imtransform(A,tform2,'nearest');subplot(1,3,1),imshow(A),title('原图像')subplot(1,3,2),imshow(B),title('水平镜像') subplot(1,3,3),imshow(C),title('垂直镜像');程序运行结果:旋转程序:I=imread('coins.png');J1=imrotate(I,45);J2=imrotate(I,45,'crop'); subplot(1,3,1);imshow(I) subplot(1,3,2);imshow(J1) subplot(1,3,3);imshow(J2); 程序运行结果:完成对图像cameraman.tif向右30,向下15的平移,分别显示平移后和原图相同大小的结果和没有裁剪完整的图像。
数字图像处理的MATLAB基础

实验1 数字图像处理的MATLAB基础一、实验目的通过本实验使学生掌握使用MATLAB 进行数字图像处理的基本语句。
二、实验原理本实验是基于数字图像处理课程中的数字图像基本概念来设计的。
本实验的准备知识:MATLAB 语言基础;数字图像的基本概念。
其中会涉及到的命令包括MATLAB 基本语句和图像处理工具箱内的函数。
图像文件读取对文件操作,一定要注意文件格式。
不同文件格式的读取和存储方式都不相同,读出的数据也不同。
如MATLAB 环境下,读取图像使用命令imread,一定要指明图像文件格式参数。
A=imread('G:\Images\coins. jpg',‘JPG');B= imread('G:\Images\coins. bmp',‘BMP');常用函数用于数字图像基本处理的函数:imread; imshow, imwriteA=imread(filename,fmt) 读入图像文件;imwrite(A,filename,fmt) 输出图像;imshow(I,n) 图像显示。
上述函数的详细使用方法可以通过MATLAB 命令窗下运行help 命令查看。
例如查看函数imread 的使用方法,可以在命令窗中键入help imread就可以看到该函数的详细使用方法和示例。
今后其它用到的函数,也请学生自行查看该函数的用法。
三、实验内容(一) 复习MATLAB基本命令、基本绘图方法和编程方法1、输入A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2; 3 3 3],在命令窗口中执行下列表达式,掌握其含义:A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2)A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A2、同屏绘制正弦曲线y=sin(x)、余弦曲线y=cos(x)、y=sin(x)cos(x)、y=sin(x)+cos(x) 的图像。
实验一 MATLAB数字图像度读入操作

实验一 MATLAB数字图像度读入操作一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。
5.图像间如何转化。
二、实验原理1、数字图像的表示和类别根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类:亮度图像(Intensity images)二值图像(Binary images)索引图像(Indexed images)RGB图像(RGB images)(1) 亮度图像一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。
若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。
若图像是double类,则像素取值就是浮点数。
规定双精度型归一化亮度图像的取值范围是[0,1](2) 二值图像一幅二值图像是一个取值只有0和1的逻辑数组。
而一幅取值只包含0和1的uint8类数组,在MA TLAB中并不认为是二值图像。
使用logical函数可以把数值数组转化为二值数组或逻辑数组。
(3) 索引图像索引颜色通常也称为映射颜色,在这种模式下,颜色都是预先定义的,并且可供选用的一组颜色也很有限,索引颜色的图像最多只能显示256种颜色。
(4) RGB图像一幅RGB图像就是彩色像素的一个M×N×3数组,其中每一个彩色相似点都是在特定空间位置的彩色图像相对应的红、绿、蓝三个分量。
令f R,f G和f B分别代表三种RGB分量图像。
一幅RGB图像就利用cat(级联)操作将这些分量图像组合成彩色图像:rgb_image=cat(3,fR,fG,fB)在操作中,图像按顺序放置。
2、数据类和图像类型间的转化工具箱中提供了执行必要缩放的函数(见表2)。
以在图像类和类型间进行转化。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
置零:将矩阵 A 的的乘法与矩阵的点乘的不同,举例说明: %产生二维单位矩阵
>> B=[1,2;3,4]
>> A.*B %求 A 与 B 的点积(即两矩阵中对应元素分别相乘
>> A*B %求 A 与 B 的乘积(符合矩阵乘积原则 A 的列数与 B 的行数相等)
MinSamplev ImageDescription: [1x166 char] 4、
alue: 0
Thresholding: 1 MATLAB 中图象文件的显示
Imshow imshow 函数是最常用的显示各种图象的函数,其语法如下: imshow(X,map) 其中 X 是图象数据矩阵,map 是其对应的颜色矩阵,若进行图象处理后不知道图象数据的值域可以用[]代 替 map。 需要显示多幅图象时,可以使用 figure 语句,它的功能就是重新打开一个图象显示窗口。 例: I=imread(‘rice.tif’); Imshow(I); J=imread(‘flowers.tif’); figure,imshow(J); 5、 MATLAB 中灰度直方图的显示 MATLAB 图象处理工具箱提供了 imhist 函数来计算和显示图象的直方图,imhist 函数的语法格式为: imhist(I,n) imhist(X,map) 其中 imhist(I,n)计算和显示灰度图象 I 的直方图,n 为指定的灰度级数目,默认值为 256。imhist(X,map)计 算和显示索引色图象 X 的直方图,map 为调色板。 例: I = imread('rice.tif'); imshow(I) figure, imhist(I) 6、 对比度增强 如果原图象 f(x,y)的灰度范围是[m,M],我们希望调整后的图象 g(x,y)的灰度范围是[n,N],那么下述变 换, ,就可以实现这一要求。 MATLAB 图象处理工具箱中提供的 imadjust 函数,可以实现上述的线性变换对比度增强。Imadjust 函数的 语法格式为: J = imadjust(I,[low_in high_in],[low_out high_out]) J = imadjust(I,[low_in high_in],[low_out high_out])返回图象 I 经过直方图调整后的图象 J,[low_in high_in]为 原图象中要变换的灰度范围,[low_out high_out]指定了变换后的灰度范围。 例: I = imread('pout.tif'); 三、实验要求 copy 两个图形文件 girl1.bmp 和 girl2.bmp 到 MATLAB 目录下 work 文件夹中。 1、将 MATLAB 目录下 work 文件夹中的 lena.bmp 图象文件读出.用到 imread,imfinfo 等文件,观察一下图 象数据,了解一下数字图象在 MATLAB 中的处理就是处理一个矩阵。将这个图象显示出来(用 imshow) , 尝试修改 map 颜色矩阵的值,再将图象显示出来,观察图象颜色的变化。 2、将 MATLAB 目录下 work 文件夹中的 lena.bmp 图象文件读出,显示它的图象及灰度直方图,可以发现 其灰度值集中在一段区域,用 imadjust 函数将它的灰度值调整到[0.3,0.7]之间,并观察调整后的图象与原 图象的差别,调整后的灰度直方图与原灰度直方图的区别。 3、使用 lena 图像,将上面介绍的 matlab 图像处理的方法操作一遍,观察图像变换前和变换后的不同。 J = imadjust(I,[0.3 0.7],[]); imshow(I), figure, imshow(J)
3、MATLAB 中图象数据的读取 A、 imread imread 函数用于读入各种图象文件,其一般的用法为 [X,MAP]=imread(‘filename’,‘fmt’) 其中,X,MAP 分别为读出的图象数据和颜色表数据,fmt 为图象的格式,filename 为读取的图象文件(可 以加上文件的路径) 。 例:[X,MAP]=imread(’flowers.tif’,’tif’ );
提取:提取 A 的前两行和后两列形成矩阵 C。
>> C=A(1:2,2:3) C= 2 5 >> A(2,2)=0 A= 1 4 7 A(:,1)=1 A= 1 1 1 A=eye(2) A= 1 0 B= 1 3 >> A+B ans = 2 3 ans = 1 0 ans = 1 3 4 2 0 4 2 5 2 4 %求 A 与 B 的和(符合矩阵求和原则) 0 1 %直接法输入矩阵 2 0 8 3 6 9 2 0 8 3 6 9 3 6
B、 imwrite imwrite 函数用于输出图象,其语法格式为: imwrite(X,map,filename,fmt)按照 fmt 指定的格式将图象数据矩阵 X 和调色板 map 写入文件 filename。 C、 imfinfo imfinfo 函数用于读取图象文件的有关信息,其语法格式为 imfinfo(filename,fmt) imfinfo 函数返回一个结构 info,它反映了该图象的各方面信息,其主要数据包括:文件名(路径) 、文件格 式、文件格式版本号、文件的修改时间、文件的大小、文件的长度、文件的宽度、每个像素的位数、图象 的类型等。 例: imfinfo('rice.tif') ans = Filename: 'C:\MATLAB6p5\toolbox\images\imdemos\rice.tif' FileModDate: '26-Oct-1996 06:11:58' FileSize: 65966 Format: 'tif' FormatVersion: [] Width: 256 Height: 256 BitDepth: 8 ColorType: 'grayscale' FormatSignature: [73 73 42 0] ByteOrder: 'little-endian' NewSubfileType: 0 BitsPerSample: 8 Compression: 'Uncompressed' PhotometricInterpretation: 'BlackIsZero' StripOffsets: [8x1 double] SamplesPerPixel: 1 RowsPerStrip: 32 StripByteCounts: [8x1 double] XResolution: 72 YResolution: 72 ResolutionUnit: 'Inch' Colormap: [] PlanarConfiguration: 'Chunky' TileWidth: [] TileLength: [] TileOffsets: [] TileByteCounts: [] Orientation: 1 FillOrder: 1 GrayResponseUnit: 0.0100 MaxSamplev alue: 255
实验一 数字图像 malab 基本操作
一、实验目的 1、复习 MATLAB 语言的基本用法; 2、掌握 MATLAB 语言中图象数据与信息的读取方法; 3、掌握在 MATLAB 中绘制灰度直方图的方法,了解灰度直方图的均衡化的方法。 二、实验原理 MATLAB 是集数值计算,符号运算及图形处理等强大功能于一体的科学计算语言。作为强大的科学计 算平台,它几乎能够满足所有的计算需求。 MATLAB 软件具有很强的开放性和适用性。在保持内核不变的情况下,MATLAB 可以针对不同的应用学 科推出相应的工具箱(toolbox)。目前,MATLAB 已经把工具箱延伸到了科学研究和工程应用的诸多领域, 诸如数据采集、概率统计、信号处理、图像处理和物理仿真等,都在工具箱(Toolbox)家族中有自己的一 席之地。在实验中我们主要用到 MATLAB 提供图象处理工具箱(Image Processing Toolbox) 。 1、MATLAB 与数字图像处理 MATLAB 全称是 Matrix Laboratory(矩阵实验室) ,一开始它是一种专门用于矩阵数值计算的软件,从 这一点上也可以看出, 它在矩阵运算上有自己独特的特点。 实际上 MATLAB 中的绝大多数的运算都是通过 矩阵这一形式进行的。这一特点也就决定了 MATLAB 在处理数字图像上的独特优势。理论上讲,图像是一 种二维的连续函数,然而在计算机上对图像进行数字处理的时候,首先必须对其在空间和亮度上进行数字 化,这就是图像的采样和量化的过程。二维图像进行均匀采样,就可以得到一幅离散化成 M×N 样本的数 字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的了。而 MATLAB 的长处就是处理矩阵运算,因此用 MATLAB 处理数字图像非常的方便。 MATLAB 支持五种图像类型,即索引图像、灰度图像、二值图像、RGB 图像和多帧图像阵列;支持 BMP、 GIF、 HDF 、JPEG、PCX、PNG、TIFF 、XWD、CUR 、ICO 等图像文件格式的读,写和显示。MATLAB 对图像的处理功能主要集中在它的图像处理工具箱(Image Processing Toolbox)中。图像处理工具箱是由一 系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分 析与图像增强、二值图像操作以及形态学处理等图像处理操作。 2、MATLAB 语言的基本操作 MATLAB 语言是一种运算纸型的运算语言,其特点就是与平时在运算纸上书写运算的形式相同,这使 得它成为一种比较容易掌握的语言;其变量均以矩阵向量形式表示(单独一个数据可以认为是一维向量) ; 其程序语法类似于 C 语言,只要有一点 C 语言基础的人可以很快掌握。针对数字图象处理的需要,可以重 点掌握以下几个内容:矩阵、向量的输入和操作(包括如何输入一个矩阵,如何产生一个全零全一的矩阵, 如何对一个矩阵的行列元素进行读取、写入) ;矩阵与向量的基本运算(包括加、减、点乘等) 以下主要介绍一下如何读取矩阵的指定行或指定列,举例说明: x=4:6 %产生一个一维数组,范围从 4 到 6,步长为 1 x= 4 5 6 %当然也可以用别的方法产生 A 矩阵此处只作为示例 3 6 9 插入:通过对 x 进行插入运算创建矩阵 A >> A=[x-3;x;x+3] A= 1 4 7 2 5 8