当前位置:文档之家› Matlab分形几何制图程序

Matlab分形几何制图程序

Matlab分形几何制图程序
Matlab分形几何制图程序

Matlab分形几何制图程序

clear all

new=[0.5+(sqrt(3)/2*i),-0.5+(sqrt(3)/2*i),0,0.5+(sqrt(3)/2*i)]; subplot(2,3,1)

plot(new)

axis equal

for k=1:5;

old=new;

n=length(old)-1;

for j=0:n-1;

diff=(old(j+2)-old(j+1))/3;

new(j*4+1)=old(j+1);

new(j*4+2)=old(j+1)+diff;

new(j*4+3)=new(4*j+2)+diff*((1-sqrt(3)*i)/2); new(j*4+4)=old(j+1)+2*diff;

end

new(4*n+1)=old(n+1);

subplot(2,3,k+1)

plot(new);

axis equal;

end

这是老师给的,与大家分享一下

下面的是根据老师的自己写的

clear all

new=[0,i];

subplot(2,3,1)

plot(new);

for k=1:5;

old=new;

n=length(old)-1;

for j=0:n-1;

diff=(old(j+2)-old(j+1))/3;

new(j*7+1)=old(j+1);

new(j*7+2)=old(j+1)+diff;

if abs(new(j+1))

new(j*7+3)=new(j*7+2)+diff*((sqrt(3)+i)/2); new(j*7+4)=new(j*7+2);

new(j*7+5)=new(j*7+4)+diff;

new(j*7+6)=new(j*7+5)+diff*((sqrt(3)-i)/2); new(j*7+7)=new(j*7+5);

else

new(j*7+1)=old(j+1);

new(j*7+2)=old(j+1);

new(j*7+3)=new(j*7+2);

new(j*7+4)=new(j*7+2);

new(j*7+5)=new(j*7+4);

new(j*7+6)=new(j*7+5);

new(j*7+7)=new(j*7+5);

end

end

new(7*n+1)=old(n+1);

subplot(2,3,k+1)

plot(new);

axis equal;

end

基于Matlab基本图像处理程序

图像读入 ●从图形文件中读入图像 imread Syntax: A = imread(filename, fmt) filename:指定的灰度或彩色图像文件的完整路径和文件名。 fmt:指定图形文件的格式所对应的标准扩展名。如果imread没有找到filename所制定的文件,会尝试查找一个名为filename.fmt的文件。 A:包含图像矩阵的矩阵。对于灰度图像,它是一个M行N列的矩阵。如果文件包含 RGB真彩图像,则是m*n*3的矩阵。 ●对于索引图像,格式[X, map] = imread(filename, fmt) X:图像数据矩阵。 MAP:颜色索引表 图像的显示 ●imshow函数:显示工作区或图像文件中的图像 ●Syntax: imshow(I) %I是要现实的灰度图像矩阵 imshow(I,[low high],param1, val1, param2, val2,...) %I是要现实的灰度图像矩阵,指定要显示的灰度范围,后面的参数指定显示图像的特定参数 imshow(RGB) imshow(BW) imshow(X,map) %map颜色索引表 imshow(filename) himage = imshow(...) ●操作:读取并显示图像 I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读取图像数据 imshow(I);%显示原图像 图像增强 一.图像的全局描述 直方图(Histogram):是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。 图像直方图(Image Histogram):是表示数字图像中亮度分布的直方图,用来描述图象灰度值,标绘了图像中每个亮度值的像素数。 灰度直方图:是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图 像中某种灰度出现的频率。描述了一幅图像的灰度级统计信息。是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。 归一化直方图:直接反应不同灰度级出现的比率。纵坐标表示具有各个灰度级别的像

基于matlab的直方图均衡化

目录 1、引言 (2) 2、直方图基础 (3) 3、直方图均衡化 (3) 3.1 直方图均衡化的概念 (3) 3.2 直方图均衡化理论 (4) 3.3 Matlab 实现 (4) 4、结论 (7) 致谢 (7) 参考文献 (7)

图像增强处理 —直方图均衡化的Matlab 实现摘要:为了使图像的灰度范围拉开或使灰度均匀分布,从而增大反差,使图像细节清晰,以达到增强的目的,通常采用直方图均衡化及直方图规定化两种变换,此文中探讨了直方图的理论基础,直方图均衡化的概念及理论,以Matlab为平台,对某地区遥感TM单波段遥感影像进行直方图均衡化,并给出了具体程序、仿真结果图像、直方图及变换函数。实验结果表明,原来偏暗的且对比度较低的图像经过直方图均衡化后图像的对比度及平均亮度明显提高,直方图均衡化处理能有效改善灰度图像的对比度差和灰度动态范围。 关键词:图像增强直方图均衡化 Matlab 1、引言 图像增强是指对图像的某些特征,如边缘、轮廓或对比度等进行强调或尖锐化。当一幅图像曝光不足或过度,造成对比度过小或过大而不能显示具体细节,通过增加这些细节的动态范围改善图像的视觉效果。图像增强可以突出图像中所感兴趣的特征信息,改善图像的主观视觉质量,提高图像的可懂度。 增强的首要目标是处理图像,使其比原始图像更适合于特定应用。图像增强的方法分为两大类:空间域方法和频域方法。“空间域”一词是指图像平面本身,这类方法是以对图像的像素直接处理为基础的。“频域”处理技术是以修改图像的傅氏变换为基础的。 一般说来,原始遥感数据的灰度值范围都比较窄,这个范围通常比显示器的显示范围小的多。增强处理可将其灰度范围拉伸到0-255 的灰度级之间来显示,从而使图像对比度提高,质量改善。增强主要以图像的灰度直方图最为分析处理的基础。直方图均衡化能够增强整个图像的对比度,提高图像的辨析程度,算法简单,增强效果好。本文主要讨论了空间域的直方图均衡化增强,并用Matlab 进行实验验证。 2、直方图基础 1、灰度直方图是灰度级的函数,描述的是图像中具有该灰度级的像元的个数。确定图像像

绘制数字图像灰度直方图实验报告MATLAB实现

数字图像处理 实验报告 实验一绘制直方图 学号 姓名 日期

实验一绘制直方图 一、实验内容 1、编程绘制数字图像的直方图。 2、直方图均衡处理。 二、实验步骤 1、设计思想或者流程图。 灰度直方图是将数字图像的所有像素,按照灰度值的大小,统计其所出现的频度。通常,灰度直方图的横坐标表示灰度值,纵坐标为半个像素个数,也可以采用某一灰度值的像素数占全图像素数的百分比作为纵坐标。 直方图均衡方法的基本原理是:对在图像中像素个数多的灰度值(即对画面起主要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并。从而达到清晰图像的目的。 2、源程序并附上注释。 clear all %一,图像的预处理,读入彩色图像将其灰度化 PS=imread('1.jpg');%读入JPG彩色图像文件 imshow(PS)%显示出来 title('输入的彩色JPG图像') imwrite(rgb2gray(PS),'PicSampleGray.bmp');%将彩色图片灰度化并保存 PS=rgb2gray(PS);%灰度化后的数据存入数组 %二,绘制直方图 [m,n]=size(PS);%测量图像尺寸参数 GP=zeros(1,256);%预创建存放灰度出现概率的向量for k=0:255 GP(k+1)=length(find(PS==k))/(m*n);%计算每级灰度出现的概率,将其存入GP中相应位置 end figure,bar(0:255,GP,'g')%绘制直方图 title('原图像直方图') xlabel('灰度值') ylabel('出现概率') %三,直方图均衡化 S1=zeros(1,256); for i=1:256 for j=1:i S1(i)=GP(j)+S1(i);%计算Sk end end S2=round((S1*256)+0.5);%将Sk归到相近级的灰度for i=1:256 GPeq(i)=sum(GP(find(S2==i)));%计算现有每个灰度级出现的概率

常见的MATLAB绘图程序

常见的MATLAB绘图程序y=[3,7,9,1,5,2,8]; subplot(1,2,1),plot(y,'linewidth',2),grid x=[3,3,9;8,1,2;1,8,5;7,9,1]; subplot(1,2,2),plot(x),xlabel('x'),ylabel('y') grid on %极坐标曲线 theta=0:0.1:8*pi; polar(theta,cos(4*theta)+1/4) %对数坐标 x=0:0.1:2*pi; y=sin(x); semilogx(x,y); grid on %各种坐标系中 theta=0:0.1:6*pi; r=cos(theta/3)+1/9; subplot(2,2,1),polar(theta,r); subplot(2,2,2),plot(theta,r); subplot(2,3,4),semilogx(theta,r); subplot(2,3,5),semilogy(theta,r); subplot(2,3,6),loglog(theta,r); grid on %双y轴图形 x=0:0.01:5; y=exp(x); plotyy(x,y,x,y,'semilogy','plot'),grid grid on %复数数据 t=0:0.1:2*pi; x=sin(t); y=cos(t); z=x+i*y; plot(t,z),grid plot(z) grid on %二维图形处理 x=(0:0.1:2*pi)'; y1=2*exp(-0.5*x)*[1,-1]; y2=2*exp(-0.5*x).*sin(2*pi*x); x1=(0:12)/2; y3=2*exp(-0.5*x1).*sin(2*pi*x1);

基于matlab的直方图均衡化

课程设计报告 题目基于matlab的直方图均衡化程序设计 学生姓名: 学生学号: 系别: 专业: 届别: 指导教师: 电气信息工程学院制

目录 1、引言·······················································································- 2 - 2、直方图基础 ···············································································- 2 - 3、直方图均衡化············································································- 3 -3.1 直方图均衡化的概念·····················································································- 3 -3.2 直方图均衡化理论························································································- 4 - 3.3 Matlab 实现······························································································- 4 - 4、结论 ······················································································- 10 - 5、心得体会················································································- 10 -参考文献·····················································································- 10 - 基于matlab的直方图均衡化程序设计

课设报告正文(MATLAB的图像直方图的计算与显示)

目录 摘要........................................................................ I 1 基础介绍 (1) 1.1MATLAB简介 (1) 1.2数字图像处理简介 (1) 2 设计原理分析 (3) 2.1灰度直方图的定义 (3) 2.2设计原理 (3) 2.3常用函数介绍 (3) 3 程序及运行结果 (4) 3.1流程图 (4) 3.2源程序 (4) 3.3运行结果 (5) 3.4库函数运行结果 (7) 4设计总结 (8) 5心得体会 (9) 参考文献 (10)

1 基础介绍 1.1MATLAB简介 MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。 1.2数字图像处理简介 数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。数字图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。数字图像处理作为一门学科大约形成于20世纪60年代初期。早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。

MATLAB中的绘图程序

MATLAB中的绘图程序 2011-03-25 12:45:48| 分类:matlab | 标签:绘图 matlab |字号大中小订阅 matlab中如何在指定一点画一个填充颜色的小圆 plot(1,1,'r.','markersize',50) §4.1二维作图 绘图命令plot绘制x-y坐标图;loglog命令绘制对数坐标图;semilogx和semilogy命令绘制半对数坐标图;polar命令绘制极坐标图. §4.1.1 基本形式 如果y是一个向量,那么plot(y)绘制一个y中元素的线性图.假设我们希望画出 y=[0., 0.48, 0.84, 1., 0.91, 6.14 ] 则用命令:plot(y) 它相当于命令:plot(x, y),其中x=[1,2,…,n]或x=[1;2;…;n],即向量y的下标编号, n为向量y 的长度 Matlab会产生一个图形窗口,显示如下图形,请注意:坐标x和y 是由计算机自动绘出的. 图4.1.1.1 plot([0.,0.48,0.84,1.,0.91,6.14]) 上面的图形没有加上x轴和y轴的标注,也没有标题.用xlabel,ylabel,title命令可以加上.如果x,y是同样长度的向量,plot(x,y)命令可画出相应的x元素与y元素的x-y坐标图.例:x=0:0.05:4*pi; y=sin(x); plot(x,y) grid on, title(' y=sin( x ) 曲线图' ) xlabel(' x = 0 : 0.05 : 4Pi ') 结果见下图.

图4.1.1.2 y=sin(x)的图形 表4.1.1.1 Matlab图形命令 §4.1.2 多重线 在一个单线图上,绘制多重线有三种办法. 第一种方法是利用plot的多变量方式绘制: plot(x1,y1,x2,y2,...,xn,yn) x1,y1,x2,y2,...,xn,yn是成对的向量,每一对x, y在图上产生如上方式的单线.多变量方式绘图是允许不同长度的向量显示在同一图形上. 第二种方法也是利用plot绘制,但加上hold on/off命令的配合: plot(x1,y1) hold on plot(x2,y2) hold off 第三种方法还是利用plot绘制,但代入矩阵: 如果plot用于两个变量plot(x,y),并且x,y是矩阵,则有以下情况: (1)如果y是矩阵,x是向量,plot(x,y)用不同的画线形式绘出y的行或列及相应的x向量,y的行或列的方向与x向量元素的值选择是相同的. (2)如果x是矩阵,y是向量,则除了x向量的线族及相应的y向量外,以上的规则也适用.(3)如果x,y是同样大小的矩阵,plot(x,y)绘制x的列及y相应的列. 还有其它一些情况,请参见Matlab的帮助系统. §4.1.3 线型和颜色的控制 如果不指定划线方式和颜色,Matlab会自动为您选择点的表示方式及颜色.您也可以用不同的符号指定不同的曲线绘制方式.例如:

基于Matlab基本图像处理程序

基于Matlab基本图像处理程序

————————————————————————————————作者:————————————————————————————————日期: ?

图像读入 ●从图形文件中读入图像imread Syntax:A = imread(, fmt) :指定的灰度或彩色图像文件的完整路径和文件名。 fmt:指定图形文件的格式所对应的标准扩展名。如果imread没有找到所制定的文件,会尝试查找一个名为的文件。 A:包含图像矩阵的矩阵。对于灰度图像,它是一个M行N列的矩阵。如果文件包含RGB 真彩图像,则是m*n*3的矩阵。 ●对于索引图像,格式[X, map]=imread(, fmt) X:图像数据矩阵。 MAP:颜色索引表 图像的显示 ●imshow函数:显示工作区或图像文件中的图像 ●Syntax: imshow(I) %I是要现实的灰度图像矩阵 imshow(I,[low high],param1,val1, param2, val2,...) %I是要现实的灰度图像矩阵,指定要显示的灰度范围,后面的参数指定显示图像的特定参数 imshow(RGB) imshow(BW) imshow(X,map) %map颜色索引表 imshow() himage=imshow(...)

●操作:读取并显示图像 I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读取图像数据imshow(I);%显示原图像 图像增强 一.图像的全局描述 直方图(Histogram):是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。 图像直方图(Image Histogram):是表示数字图像中亮度分布的直方图,用来描述图象灰度值,标绘了图像中每个亮度值的像素数。 灰度直方图:是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图像中某种灰度出现的频率。描述了一幅图像的灰度级统计信息。是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。 归一化直方图:直接反应不同灰度级出现的比率。纵坐标表示具有各个灰度级别的像素在图像中出现的概率。 图像的灰度直方图:是一个离散函数,表示图像每一灰度级与该灰度级出现概率的对应关系。 图像的灰度直方图运算: imhist()函数,其横坐标表示像素的灰度级别,纵坐标为像素点的个数。 ●Imhist函数=Display histogramof image data显示灰度直方图的函数 ●Syntax: ①imhist(I) % I为要计算的灰度直方图图像 ②imhist(I, n) %n指定的灰度级的数目,表示所有灰度级均匀分布在n个小区间内。 ③imhist(X, map) ④[counts,x] =imhist(...)%counts直方图数据向量。counts(i)第i个灰度区间中的像素数目。x是保存了对应的灰度小区间的向量。 注意:若调用时不接受这个函数的返回值,则直接显示直方图;在得这些返回数据之后,也可

Matlab程序设计与作图

(封面) 学生实验报告 学院: 课程名称: 专业班级: 姓名: 学号:

学生实验报告 一、实验综述 1、实验目的及要求 熟悉MATLAB软件的用户环境;了解MATLAB软件的一般命令;掌握 MATLAB向量、数组、矩阵操作与运算函数;掌握MATLAB软件的基本绘图命令;掌握MATLAB语言的几种循环、条件和开关选择结构,及其编程规范。 通过该实验的学习,使学生能灵活应用MATLAB软件解决一些简单问题,能借助MATLAB软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜想,发现进而证实其中的规律 2、实验仪器、设备或软件 电脑、matla b 二、实验过程(实验步骤、记录、数据、分析) 1.在D 盘建立一个自己的文件夹 2.开启软件平台——MATLAB,将你建立的文件夹加入到MATLAB的搜索路径中; 3.利用帮助了解函数 max, min, sum, mean, sort, length,rand, size 和diag 的功能和用法; 4.开启MATLAB编辑窗口,键入你编写的M 文件(命令文件或函数文件); 5.保存文件(注意将文件存入你自己的文件夹)并运行; 6.若出现错误,修改、运行直到输出正确结果; 7.写出实验报告,并浅谈学习心得体会。 三、结论 1、 1. 已知矩阵要求:(1)屏幕输出 A 与 B;(2)A 的转置 A′;(3)求 A+B 的值;(4)求 A-B的值;(5)求 4A;(6)求 A×B;(7)求 A-1.

实验结果>> A=[3 1 1;2 1 2;1 2 3] A = 3 1 1 2 1 2 1 2 3 >> B=[1 1 1;2 1 0;1 0 1] B = 1 1 1 2 1 0 1 0 1 >> A' ans = 3 2 1 1 1 2 1 2 3 >> A+B ans = 4 2 2 4 2 2 2 2 4 >> A-B ans = 2 0 0 0 0 2 0 2 2 >> 4*A ans = 12 4 4

第二讲 Matlab编程与作图

第二讲Matlab编程与作图 第一部分Matlab程序设计初步 Matlab除了指令行操作的直接交互外,作为一种高级应用软件还提供了自己的编程语言。通过编写Matlab程序,可以更加方便地调用Matlab提供的各种功能强大的函数库,使得程序能完成复杂的运算处理大量的数值数据。 1、M文件简介 Matlab提供了丰富的编程语言,使得用户可以将一连串的命令写入文件,然后使用简单的函数来执行这些命令。文件被保存为文本文件,后缀为.m,比如说dblquad.m,因此Matlab的程序通常被称为M 文件。 M文件是一个文本文件,可以使用各种文本编辑器对它进行编辑和修改,比如Windows操作系统自带的记事本,也可以用Matlab 内建的M文件编辑器。 M文件分为两类,一类称为脚本(Scripts),类似于批处理文件,相当于将在Matlab命令窗口中执行的一系列指令放在一个文件中,当在命令窗口调用该文件名时,则按顺序执行其中的命令集。 例:编写求10!的程序。 另一类M文件称为函数(Function),它可以接受输入变量,并将运算结果送至输出变量,类似于数学中的函数y=f(x)。 函数M文件的基本结构: function f=fact(n) 函数定义行

%Compute a factorial value. %FACT(N) returns the factorial of N, 帮助文档%usually denoted by N! %Put simply,FACT(N) is PROD(1:N), 注释 f=prod(1:n); 函数体2、运算符 关系运算符:<, <=, >, >=, = =, ~= 逻辑运算符:与(&),或(|),非(~) 例:编写分段函数 21 () 1 -1<1 321 x x f x x x x ?> ? =≤ ? ?+≤- ? %myfun1.m function y=myfun1(x) y=(x.^2).*(x>1)+(x>-1& x<=1)+(3+2*x).*(x<=-1); 注意:1.函数名与变量名的命名法则相同,要求以字母开头,后接字母或下划线;2.函数名与保存的文件名最好一致。 3、控制流 所有的计算机编程语言都提供了控制程序流执行程序的语法,Matlab也不例外。所有的控制流语法都以end 结尾。 ⑴for 循环语句 语法:for 循环变量=数组 指令组;

Matlab常用的绘图程序

下面是一些绘图的源程序,来自Matlab自带的help文件程序1 figure t = 0:pi/20:2*pi; plot(t,sin(t),'-.r*') hold on plot(t,sin(t-pi/2),'--mo') plot(t,sin(t-pi),':bs') hold off ;title('sin(t),sin(t-pi/2),sin(t-pi)') 程序2 figure plot(t,sin(2*t),'-mo',... 'LineWidth',2,...

'MarkerEdgeColor','k',... 'MarkerFaceColor',[.49 1 .63],... 'MarkerSize',10) 程序3 load clown surface(peaks,flipud(X),... 'FaceColor','texturemap',... 'EdgeColor','none',... 'CDataMapping','direct') colormap(map) view(-35,45)

程序4 pcolor(hadamard(20)) colormap(gray(2)) axis ij axis square

程序5 n = 6; r = (0:n)'/n; theta = pi*(-n:n)/n; X = r*cos(theta); Y = r*sin(theta); C = r*cos(2*theta); pcolor(X,Y,C) axis equal tight

程序6 load mandrill figure('color','k') image(X) colormap(map) axis off % Remove axis ticks and numbers axis image % Set aspect ratio to obtain square pixels

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

第一部分数字图像处理

实验一图像的点运算 实验1.1直方图 一. 实验目的 1 ?熟悉matlab图像处理工具箱及直方图函数的使用; 2?理解和掌握直方图原理和方法; 二. 实验设备 1. PC 机一台; 2.软件matlab。 三. 程序设计 在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。l=imread('camerama n.tif);% 读取图像 subplot(1,2,1),imshow(l) % 输出图像 title(' 原始图像')% 在原始图像中加标题subplot(1,2,2),imhist(l) % 输出原图直方图 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环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。l=imread('camerama n.tif);% 读取图像 subplot(2,2,1),imshow(l) % 输出图像title(' 原始图像')% 在原始图像中加标题subplot(2,2,3),imhist(l) % 输出原图直方图 title(' 原始图像直方图')%在原图直方图上加标题a=histeq(l,256); % 直方图均衡化,灰度级为256 subplot(2,2,2),imshow(a) % 输出均衡化后图像title(' 均衡化后图像')%在均衡化后图像中加标题 subplot(2,2,4),imhist(a) % 输出均衡化后直方图 title(' 均衡化后图像直方图')%在均衡化后直方图上加标题 四. 实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab 环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的灰度均衡函数,设置参数;最后输出处理后的图像; 3?浏览源程序并理解含义; 4. 运行,观察显示结果; 5. 结束运行,退出; 五. 实验结果 观察matlab环境下图像灰度均衡结果及直方图分布。 均衡化后图像

直方图均衡化matlab程序

直方图和直方图均衡的Matlab完整程序(数字图像处理) 一、实验目的 掌握基本的图象增强方法,观察图象增强的效果,加深对灰度直方图及直方图均衡化的理解,掌握直方图均衡化方法。 二、实验内容 将一张彩色图片转换成灰色图片,画灰度直方图和均衡化后的直方图,并将灰度图和均衡化后的图片对比。 三、实验原理 灰度直方图是将数字图像中的所有像素,按照灰度值的大小,统计其所出现的频度。通常,灰度直方图的横坐标表示灰度值,纵坐标为像素个数,也可以采用某一灰度值的像素数占全图像素数的百分比作为纵坐标。 直方图均衡方法的基本原理是:对在图像中像素个数多的灰度值(即对画面起主要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并。从而达到清晰图像的目的。 四、实验程序%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%% %函数功能,画出图像的直方图,并对图像进行直方图均衡 %直接读图像abc.jpg,读到tuu中 %graydis是原始直方图各灰度级像素个数

%原始直方图graydispro,利用原始直方图计算原始累计直方图graydispro %t[]计算和原始灰度对应的新的灰度t[],建立映射关系,t坐标代表原始的灰度,t[]代表对应原始坐标的新坐标 %new_graydis是统计新直方图各灰度级像素个数 %计算新的灰度直方图new_graydispro,利用新的直方图计算新的累计直方图new_graydispro %计算直方图均衡后的新图new_tu %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%% clear all close all tuu=imread('abc.jpg'); %读入图片 tu=rgb2gray(tuu); %将彩色图片转换为灰度图 graydis=zeros(1,256); %设置矩阵大小 graydispro=zeros(1,256); new_graydis=zeros(1,256); new_graydispro=zeros(1,256); [h w]=size(tu); new_tu=zeros(h,w); %计算原始直方图各灰度级像素个数graydis for x=1:h

Matlab画图程序

Matlab二维绘图 2010-06-08 20:41 本节介绍MATLAB 的两种基本绘图功能:二维平面图形和三维立体图形。 5.1 二维平面图形 5.1.1 基本图形函数 plot 是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。也就是 说,使用plot 函数之前,必须首先定义好曲线上每一点的x 及y 坐标,常用格式为:(1)plot(x) 当x 为一向量时,以x 元素的值为纵坐标,x 的序号为横坐标值绘制 曲线。当x 为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线,当x 为m× n 矩阵时,就由n 条曲线。 (2)plot(x,y) 以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。 (3)plot(x,y1,x,y2,…) 以公共的x 元素为横坐标值,以y1,y2,… 元素为纵坐标值绘制多条曲线。 例5.1.1 画出一条正弦曲线和一条余弦曲线。 >> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2)

图5.1.1 函数plot 绘制的正弦曲线 在绘制曲线图形时,常常采用多种颜色或线型来区分不同的数据组,MATLAB 软件专 门提供了这方面的参数选项(见表5.1.1),我们只要在每个坐标后加上相关字符串,就可实现它们的功能。 表5.1.1 绘图参数表 色彩字符颜色线型字符线型格式标记符号数据点形式标记符号数据点形式 y 黄- 实线. 点< 小于号 m 紫:点线o 圆s 正方形 c 青-. 点划线x 叉号 d 菱形 r 红- - 虚线+ 加号h 六角星 g 绿* 星号p 五角星 b 蓝v 向下三角形 w 白^ 向上三角形 k 黑> 大于号 例如,在上例中输入 >> plot(x,y1,'r+-',x,y2,'k*:') 则得图5.1.2

matlab如何画图,

(一)matlab怎样画图 浏览次数:69次悬赏分:0 |解决时间:2011-5-2 05:14 |提问者:匿名 matlab怎样画图 最佳答案 如果是画2维曲线图,就用plot 如果是画3维曲线图,就用plot3, 如果是画一图像,就用imagesc,具体参数用法,可以使用help文档 matlab 如何画图时将数据点的值在图中显示出来 浏览次数:562次悬赏分:10 |解决时间:2010-10-25 09:24 |提问者:备战考级 描点画图,在图中数据点的旁边显示该点的值,如附图所示: 问题补充: 我想达到图中的效果,用那个data curser有边框,我不想要边框,能在程序中实现吗???? 最佳答案 可以用text在图上写字符串,例如

clear clc x=[1 2 3 4 5]; y=[3 6 10 16 20]; str=[repmat(' X:',5,1) num2str(x') repmat(', Y:',5,1) num2str(y')]; plot(x,y,'-o') text(x,y,cellstr(str)) matlab绘图方法 专业软件2009-03-28 09:26:45 阅读37 评论0 字号:大中小订阅 基本xy平面绘图命令 MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表(Scientific visualization)。本节将介绍MATLAB基本xy平面及xyz空间的各项绘图命令,包含一维曲 线及二维曲面的绘制、列印及存档。 plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x及 y座标。下例可画出一条正弦曲线 close all; x=linspace(0, 2*pi, 100); % 100个点的x座标 y=sin(x); % 对应的y座标 plot(x,y); ==================================================== 小整理:MATLAB基本绘图函数 plot: x轴和y轴均为线性刻度(Linear scale) loglog: x轴和y轴均为对数刻度(Logarithmic scale) semilogx: x轴为对数刻度,y轴为线性刻度 semilogy: x轴为线性刻度,y轴为对数刻度 ==================================================== 若要画出多条曲线,只需将座标对依次放入plot函数即可: plot(x, sin(x), x, cos(x)); 若要改变颜色,在座标对後面加上相关字串即可: plot(x, sin(x), 'c', x, cos(x), 'g');

用MATLAB绘制频率分布直方图和累积图

数学建模假期8月9日作业 (发送邮件到gongchengjys@https://www.doczj.com/doc/6c4942817.html,) 一、作频率直方图和累积频率直方图 82 89 97 92 85 79 89 80 83 87 92 85 65 73 58 62 30 67 79 74 81 80 67 68 83 52 46 98 76 二、编程序:单因素方差分析、双因素方差分析 三、某大学希望了解本校管理学院四个专业毕业的MBA学生与另外四所大学的管理学院相同专业毕业的MBA学生相比,工作后第一年的收入是否具有优势,做了如下调查: 五所大学毕业生第一年收入调查表 问MBA学生毕业后收入是否与选择的学校有关? Matlab代码: clc,clear x0=[9.6,8.3,5.2 6.8,10.2,4.6 11,7.3,5.2 7.5,6.3,9 4.5,6.8,8

7.8,12.1,11.2 8.1,18,6.5 5.7,4.9,13 9.8,7,3.6 3.8,5.2,1.8 11.3,14,6.2 4.2,9.5,8 8.2,7.3,15 7.4,16,8.5 6.3,2.6,12 9.5,10.6,8.2 6.4,3.6,12 7.5,18,9.4 12,15,8.8 5.2,2.1,7.8]; x1=x0(:,1:3:13);x2=x0(:,2:3:14); x3=x0(:,3:3:15); for i=1:4 x(3*i-2,:)=x1(i,:); x(3*i,:)=x2(i,:); x(3*i,:)=x3(i,:); end [p,t,st]=anova2(x,2) 输出:p = 0.8576 0.1504 1.0000 t = Columns 1 through 3 'Source' 'SS' 'df' 'Columns' [ 34.8640] [ 4] 'Rows' [ 235.2773] [ 5]

实验九 Matlab基本绘图

实验九 Matlab 基本绘图 一、实验目的 1、理解MATLAB 绘图方法 2、掌握绘制二维数据曲线图的方法 3、掌握用plot 函数和fplot 函数绘制曲线的方法 4、通过练习掌握绘制二维数据曲线图的方法和plot 函数和fplot 函数的使用 二、实验环境 1.计算机 2.MATLAB7.0集成环境 三、实验说明 1.熟练操作MATLAB7.0运行环境 2.自主编写程序,必要时参考相关资料 3.实验前应写出程序大致框架或完整的程序代码 4.实验学时:2学时 四、实验内容和步骤 1.实验内容 (1)绘制下列曲线: ①33x x y - = ②2221x e y π= ③6422 2=+y x

1. 2. 3. (2)通过用plot 、fplot 、ezplot 函数绘制x y 1sin 的曲线,并分析其区别。 Plot: Fplot: Ezplot:

(3)编写程序,该程序在同一窗口中绘制函数在[] 0,2π之间的正弦曲线和余弦曲线,π,线宽为 4 个象素,正弦曲线设置为蓝色实线,余弦曲线颜色设置为红色虚步长为/10 线,两条曲线交点处,用红色星号标记。 (4)绘制下列图像 (1)绘制电脑磁盘使用情况的饼状图 (2)生成100 个从0 到10 之间的随机整数,绘制其直方图 (3)生成10个从0 到10 之间的随机整数,绘制其阶跃图 1. 2. 3. 2.实验步骤

(1)分析实验内容,写出程序大致框架或完整的程序代码。 (2)进入MATLAB7.0集成环境。 (3)编辑程序并进行保存。 (4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。 (5)检查程序输出结果。 五、实验报告要求 x中的向量大于一的时候用的是

matlab画直方图

1.画直方图 基本: clf A=[170 120 180 200 190 220]'; B=[120 100 110 180 170 180]'; C=[70 50 80 100 95 120]'; bar([A,B,C],'stacked') colormap(cool) legend('A','B','C',2) 扩充: clf A=[170 120 180 200 190 220]'; B=[120 100 110 180 170 180]'; C=[70 50 80 100 95 120]'; subplot(2,2,1),bar([A,B,C],0.5,'stacked') legend('A','B','C',2) title('bar/粗细0.5')

subplot(2,2,2),bar([A,B,C],'grouped') legend('A','B','C',2) title('bar/grouped') subplot(2,2,3),bar3([A,B,C],'stacked') legend('A','B','C',1) title('bar3') subplot(2,2,4),bar3([A,B,C],'detached') legend('A','B','C',1) title('bar3/detached') colormap(summer) 2.三维透视网格曲面图 x=-3:0.1:3; y=x; [x,y]=meshgrid(x,y); z1=4.*x.*exp(-x.^2-y.^2); subplot(1,2,1),mesh(x,y,z1); subplot(1,2,2),ezmesh('4*x*exp(-x^2-y^2)'); hidden off

MATLAB时域绘图代码

function PlotTime % data pre-processing for JZ202 Physical model % clear all % close all % clc % sensor='mnode.txt'; % sensorfilename='mnode'; % datapath='signal.ASC'; % datafilename='signal'; % judge=0; % datastart=1500; % dataend=2000; % column=[1:50]; % temp=1; global datapath; global datafilename; global datastart; global dataend; global judge;; global sensor; global sensorfilename; str1=['load' ' ' sensor]; eval(str1); str2=['arran=' sensorfilename ';']; eval(str2); str3=['load' ' ' datapath]; eval(str3); str4=['xx=' datafilename ';']; eval(str4); % judge=0; % datastart=2000; % dataend=2500; % xy=datapath; % if temp==1 % column=[]; % for i=1:(size(xy,2)-1) % column=[column i]; % end; % end;

相关主题
文本预览
相关文档 最新文档