搜档网
当前位置:搜档网 › MATLAB基本的使用方法归纳(图像,矩阵及函数).pdf

MATLAB基本的使用方法归纳(图像,矩阵及函数).pdf

MATLAB基本的使用方法归纳(图像,矩阵及函数).pdf
MATLAB基本的使用方法归纳(图像,矩阵及函数).pdf

读取图像:用imread函数读取图像文件,文件格式可以是TIFF、JPEG、GIF、BMP、PNG 等。比如

>> f = imread('chestxray.jpg');

读进来的图像数据被保存在变量f中。尾部的分号用来抑制输出。如果图片是彩色的,可以用rgb2gray转换成灰度图:

>> f = rgb2gray(f);

然后可以用size函数看图像的大小

>> size(f)

如果f是灰度图像,则可以用下面的命令把这个图像的大小赋给变量M和N

>> [M, N] = size(f);

用whos命令查看变量的属性

>> whos f

显示图像:用imshow显示图像

imshow(f, G)

其中f是图像矩阵,G是像素的灰度级,G可以省略。比如

>> imshow(f, [100 200])

图像上所有小于等于100的数值都会显示成黑色,所有大于等于200的数值都会显示成白色。pixval命令可以用来查看图像上光标所指位置的像素值。

pixval

例如

>> f = imread('rose_512.tif');

>> whos f

>> imshow(f)

如果要同时显示两幅图像,可以用figure命令,比如

>> figure, imshow(g)

用逗号可以分割一行中的多个命令。imshow的第二个参数用一个空的中括号:

>> imshow(h, [])

可以使动态范围比较窄的图像显示更清楚。

写图像。用imwrite写图像

imwrite(f, 'filename')

文件名必须包括指明格式的扩展名。也可以增加第三个参数,显式指明文件的格式。比如

>> imwrite(f, 'patient10_run1.tif', 'tif')

也可以写成

>> imwrite(f, 'patient10_run1.tif')

还可以有其他参数,比如jepg图像还有质量参数:

>> imwrite(f, 'filename.jpg', 'quality', q)

q是0到100之间的一个整数。对比不同质量的图像效果。用imfinfo命令可以查看一个图像的格式信息,比如

>> imfinfo bubbles25.jpg

可以把图像信息保存到变量中

>> K = imfinfo('bubbles25.jpg');

>> image_bytes = K.Width * K.Height * K.BitDepth / 8;

>> compressed_btyes = K.FileSize;

>> compression_ratio = image_bytes / compressed_bytes

数据类型。MATLAB的数据类型包括:

double 双精度浮点

uint8 无符号8位整数

uint16 无符号16位整数

uint32 无符号32位整数

int8 有符号8位整数

int16 有符号16位整数

int32 有符号32位整数

single 单精度

char 字符

logical 逻辑型(二值)

数据类型转换

B = data_class_name(A)

比如

>> C = [1.4 1.5]

>> D = uint8(C)

图像类型分为:

Intensity image 灰度图

Binary image 二值图

Indexed image 索引图

RGB image 彩色图

在灰度图中每个像素可以是整型、浮点型或者逻辑型。图像类型的像素类型可以转换

function to from

im2uint8 uint8 logical,uint8,uint16,double

im2uint16 uint16 logical,uint8,uint16,double

mat2gray double double

im2double double logical,uint8,uint16,double

im2bw logical uint8,uint16,double

比如

g = mat2gray(A, [Amin, Amax]);

g = mat2gray(A);

g = im2double(h);

g = im2bw(f, T)

其中A是浮点型的图像,Amin和Amax是浮点数的范围,h和f是任意类型的图像,T 是分割的阈值。

数组(向量)索引:创建向量(数组):

>> v = [1 3 5 7 9 11 13]

用小括号对向量进行索引(取数组中的某个元素):

>> v(2)

转置(将行向量通过转置变成列向量):

>> w = v.'

取向量其中的一部分:

>> v(1:3) 第1个到第3个

>> v(2:4)

>> v(3:end) 第3个到最后一个

>> v(1:end)

>> v(:) 全部

>> v(1:2:end) 第1个到最后一个,每次增加2

>> v(end:-2:1) 最后一个到第1个,每次减2

其中end总是表示最后一个。

>> x = linspace(1, 5, 10)

>> v([1 4 5])

linspace函数产生一个范围内的平均分布。

矩阵索引:创建矩阵

>> A = [1 2 3; 4 5 6; 7 8 9]

取矩阵中的一个元素

>> A(2, 3)

取矩阵中的一行或者一列

>> C3 = A(:, 3)

>> R2 = A(2, :)

取矩阵中某些行某些列

>> T2 = A(1:2, 1:3)

对矩阵中某些元素进行赋值:

>> B = A;

>> B(:, 3) = 0

用end表示最后一行或者最后一列:

>> A(end, end) 最后一行最后一列

>> A(end, end-2) 最后一行倒数第三列

>> A(2:end, end:-2:1) 第2行到最后一行,最后一列到第一列,每次减2 >> E = A([1 3], [2 3]) 第1、3行,第2、3列

>> D = logical([1 0 0; 0 0 1; 0 0 0])

>> A(D) 取A中由D指定的位置上的元素

>> v = T2(:) 把矩阵变成一个向量

>> s = sum(A(:)) 求和

>> sum(sum(A))

可以把矩阵操作用在图像上

>> f = imread('filename');

>> fp = 矩阵列倒转

>> imshow(fp)

>> fc =

>> imshow(fc)

>> fs =

>> imshow(fs)

>> plot(f(512,:))

矩阵可以是多维的,用size看矩阵大小,用ndims命令常看矩阵的维数

>> size(A, 1)

>> ndims(A)

一些常用的矩阵

zeroes(M, N)

ones(M, N)

true(M, N)

false(M, N)

magic(M)

rand(M, N)

randn(M, N)

其中M、N表示矩阵的行数和列数。比如

>> A = 5 * ones(3, 3)

>> magic(3)

>> B = rand(2, 4)

函数:可以把一系列的MATLAB语句或者一个带参数的函数放在扩展名叫做m的文件中。一个带函数的m文件有一下部分组成

函数定义行

H1行

帮助部分

函数体

注释

函数定义行的格式是

function [outputs] = name(inputs)

比如要写一个函数计算两个图像的和以及乘积

function [s, p] = sumprod(f, g)

其中f和g是输入的图像,而s是和,p是乘积。返回值用中括号括起来,如果返回值只有一个,可以省略中括号。如果函数没有输出,则中括号和等号都可以省略。函数名字的命名规则和C语言是相同的。定义好的函数可以在命令行调用:

>> [s, p] = sumprod(f, g);

也可以被其它函数调用。如果只有一个返回值,调用时中括号也是可以省略的,比如

>> y = sum(x);

H1行是文本的第一行,是一个单行的注释,紧跟在函数定义行后面,之间不能有空行。比如

% SUMPROD Computes the sum and product of two images.

百分号开始的文字表示注释。当使用帮助命令

>> help function_name

时,这个H1行会被首先显示出来。如果使用lookfor命令,则会在所有H1行中查找指定的关键字。这一行应该提供这个函数功能的一个概述。帮助部分是紧跟在H1后的文本块,中间没有空行,用来提供对这个函数更详细的帮助说明。在使用help命令时会显示所有这部分内容。这部分内容由注释语句构成,全部由%开始。接下来第一个非注释语句表示函数体的开始。函数体包含进行计算的语句和给返回值赋值的语句。函数题中的所有注释(百分号开始的行)被认为是普通的注释,不是H1或者帮助部分。m文件可以用任何文本编辑器创建和编辑,只要用.m扩展名保存在MATLAB可以搜索到的路径里面。另一个创建和编辑函数的方法是在命令行输入edit命令,比如

>> edit sumprod

这命令会编辑已经存在的sumprod.m文件,如果没有则自动在当前目录中创建一个sumprod.m并开始编辑。

运算符。运算符可以分为算术运算符,关系运算符和逻辑运算符。算术运算符分为矩阵算术运算符和数组算术运算符。

+ 矩阵和数组加法 plus(A, B) a+b, A+B

- 矩阵和数组减法 minus(A,B) a-b, A-B

.* 数组乘法 times(A,B) C=A.*B, 意味着C(I,J) = A(I,J)*B(I,J)

* 矩阵乘法 mtimes(A,B) A*B, 表示线性代数中的矩阵运算,或者a*A

./ 数组右除 rdivide(A,B) C=A./B, 意味着C(I,J)=A(I,J)/B(I,J)

.\ 数组左除 ldivide(A,B) C=A.\B, 意味着C(I,J)=B(I,J)/A(I,J)

/ 矩阵右除 mrdivide(A,B) A/B 意味着A*inv(B), inv是矩阵求逆

\ 矩阵左除 mldivide(A,B) A\B 意味着inv(A)*B

.^ 数组指数power(A, B) C=A.^B,意味着C(I,J)=A(I,J)^B(I,J)

^ 矩阵指数 mpower(A,B) 请查看帮助

.' 向量和矩阵转置 transpose(A) A.'

' 复数的共轭 ctranspose(A) A'

+ 单目加号 uplus(A) +A 与0+A相同

- 单目负号 uminus(A) -A 与0-A相同

图像处理工具包还提供其他一些算术运算

imadd 两个图像相加,或者一个图像加上一个常量

imsubstract 两个图像相减,或者一个图像减掉一个常量

immultiply 两个图像相乘,或者一个图像乘上一个常量

imdivide 两个图像相除,或者一个图像除以一个常量

imabsdiff 两个图像的差的绝对值

imcomplement 求一个图像的反色图

inlincomb 求一组图像的线性组合

关系运算符包括

<

<=

>

>=

==

~=

关系运算符的结果是逻辑型的矩阵,比如

>> A = [1 2 3; 4 5 6; 7 8 9]

>> B = [0 2 4; 3 5 6; 3 4 9]

>> A == B

>> A >= B

如果关系运算符两边都是矩阵,则要求两边的矩阵是同样大小的。或者一边是矩阵一边

是常数,或者两边都是常数,那也是可以。

>> A > 3

>> 3 ~= 4

逻辑运算符包括与、或、非三个运算

& AND

| OR

~ NOT

在matlab中非0被认为是真,0被认为是假。比如

A = [1 2 0; 0 4 5]

B = [1 -2 3; 0 1 1]

>> A & B

MATLAB还有其它一些逻辑运算函数:

xor 异或

all 如果一整列都是真,则结果是真

any 如果一整列只要有一个是真,则结果是真

比如

>> xor(A, B)

>> all(A)

>> any(A)

>> all(B)

>> any(B)

一些重要的常量

ans

eps

i(或者j)

NaN或者nan

pi

realmax

realmin

computer

version

MATLAB中一般常量的写法

3

-99

0.00001

9.6397238

1.60210e-20

6.02252e23

1i

-3.14159j

3e5j

控制流。包括

if if和else, elseif组合,条件执行一组语句

for 指定次数重复执行一组语句

while 按条件反复执行一组语句

break 终止for或者while循环

continue 马上开始下一次for或者while循环

switch switch和case,otherwise结合,按照条件值的不同执行不同的语句块return 终止当前函数,返回到调用它的地方

try...catch 捕获异常状况

if语句

if expression_r1

statements1

elseif expression_r2

statements2

else

statements3

end

for循环

for index = start:increment:end

statements

end

比如

count = 0;

for k = 0:0.1:1

count = count +1

end

while循环

while expression_r

statements

end

比如

a = 10;

b = 5;

while a

a = a - 1;

while b

b = b - 1;

end

end

switch语句

switch switch_expression_r

case case_expression_r

statements

case {case_expression_r1, case_expression_r2}

statements

otherwise

statements

end

比如

switch newclass

case 'uint8'

g = im2uint8(f);

case 'uint16'

g = im2uint16(f);

case 'double'

g = im2double(f);

otherwise

error('Unknown or improper image class.')

end

例子:写一个函数计算一幅灰度图像所有像素的平均值

function av = average(A)

%A VERAGE Computes the average value of an array

% A V = A VERAGE(A) computes the average value of input array, A, % which must be a 1D or 2D array.

% Check the validity of input.

if ndims(A) > 2

error('The dimensions of the input cannot exceed 2.')

end

% Computes the average

av =

例子:比较各种不同的JPEG质量下的图像质量

for q = 0:5:100

filename = sprintf('series_%3d.jpg', q);

imwrite(f, filename, 'quality', q);

end

其中sprintf语句和c语言的fprintf语句用法类似。例子:写一个函数从一个图像中取出一个矩形的子图。

function s = subdim(f, m, n, rx, cy)

%SUBDIM Extracts a subimage, s, from a given image, f.

% The subimage is of size m-by-n, and the coordinates of its top, left

% corner are (rx, cy).

s = zeros(m, n);

rowhigh = rx + m - 1;

colhigh = cy + n - 1;

xcount = 0;

for r = rx:rowhigh

xcount = xcount + 1;

ycount = 0;

for c = cy:colhigh

ycount = ycount + 1;

s(xcount, ycount) = f(r, c);

end

end

实际上这个功能可以用一个matlab语句就可以实现了。

循环优化。一些循环可以被转换成同样向量计算来代替,比如f(x)=Asin(x/2pi),生成一个向量包含一组函数的值:

for x = 1:M

f(x) = A*sin((x-1)/(2*pi));

end

可以用下面两个语句来代替

x =

f = A*sin(x/2(*pi))

向量运算要比循环快得多。对于二维的情况,MATLAB提供了一个meshgrid函数

[C, R] = meshgrid(c, r)

比如

>> r = [0 1 2];

>> c = [0 1];

>> [C, R] = meshgrid(c, r)

>> h = R.^2 + C.^2

例子:f(x, y) = Asin(ux + vy),生成一个矩阵,包含这个函数的值:

function [rt, f, g] = twodsin(A, u0, v0, M, N)

%TWODSIN compare for loops vs vectorization

% The comparision is based on implementing the function

% f(x, y) = Asin(u0x+v0y) for x = 0, 1, 2,..., M-1, and

% y = 0, 1, 2, ..., N-1. The inputs to the function are

% M and N and the constants in the function.

tic

for r = 1:M

u0x = u0*(r-1);

for c = 1:N

v0y = v0*(c-1)

f(r, c) = A*sin(u0x + v0y);

end

end

t1 = toc;

tic

r =

c =

[C,R] = meshgrid(c, r);

g = A*sin(u0*R + v0*C)

t2 = toc;

rt = t1/t2;

运行这个例子可以看出,向量计算至少比循环要快30倍。如果只是针对图像的一部分进行操作,可以简单的提取出来,比如

rowhigh = rx + m - 1;

colhigh = cy + n - 1;

s =

同样功能的程序,这个写法比前面例子看到的写法要快1000倍。

用户交互。函数disp用来提示用户一些信息。比如

>> A = [1 2; 3 4];

>> disp(A)

>> sc = 'Digital Image Processing.';

>> disp(sc)

>> disp('This is another way to display text.')

input函数用来提示用户输入某些值:

t = input('message')

这个函数可以显示message,并等待用户输入一个值,并存到t中。输入的值可以是MATLAB允许的任何类型的值。而如下的格式只接受字符串输入

t = input('message', 's')

如果字符串中包含的都是数字,则可以用函数str2num进行转换

n = str2num(t)

比如

>> t = input('Enter your data: ', 's')

>> class(t)

>> size(t)

>> n = str2num(t)

>> size(n)

>> class(n)

如果混合输入字符串和数值,可以全部按照字符串读入,再使用字符串处理函数strread,比如:

>> t = '12.6, x2y, z';

>> [a, b, c] = strread(t, '%f%q%q', 'delimiter', ',')

>> d = char(b)

其中%f表示浮点数,%q表示字符串。delimiter参数表示分割符。函数strcmp用来比较字符串,如果两个字符串相等返回真,否则返回假。lower函数可以把字符串中的大写字母全部变成小写,upper函数可以把字符串中所有小写字母全部变成大写。

Cell数组和结构体。Cell数组是指数组的元素本身还是一个数组,比如

>> c = {'gause', [1 0; 0 1], 3}

>> c{1}

>> c{2}

>> c{3}

结构体和Cell数组类似,但是其中的元素是用一个名字去访问的,比如

>> S.char_string = 'gause';

>> S.matrix = [1 0; 0 1];

>> S.scalar = 3;

>> S.matrix

实验任务

MATLAB 没有提供一个函数来确定数组的每个元素是不是整数(即...,-2,-1,0,1,2,...)。写一个函数来实现这个功能,并满足下面的格式:

function I = isinteger(A)

%ISINTEGER Determines which elements of an array are integers.

% I = ISINTEGER(A) returns a logical array, I, of the same size

% as A, with 1s (TRUE) in the locations corresponding to integers

% (i.e., . . . -2 -1 0 1 2 . . . )in A, and 0s (FALSE) elsewhere.

% A must be a numeric array.

要求不能使用while或者for循环。提示:使用floor函数。如果你要做到能够处理复数,那么可以使用real和imag函数。

MATLAB没有提供一个函数用来确定数组的每个元素是不是偶数(即...,-4,-2,0,2,4,...)。写一个函数来实现这个功能,并满足下面的格式:

function E = iseven(A)

%ISEVEN Determines which elements of an array are even numbers.

% E = ISEVEN(A) returns a logical array, E, of the same size as A,

% with 1s (TRUE) in the locations corresponding to even numbers

% (i.e., . . . -3, -1, 0, 2, 4, . . . )in A, and 0s (FALSE) elsewhere.

% A must be a numeric array.

要求不能使用while或者for循环。提示:使用floor函数。

MATLAB没有提供一个函数用来确定数组的每个元素是不是奇数(即...,?3,?1,1,3,...)。写一个函数实现这个功能,并满足下面的格式:

function D = isodd(A)

%ISODD Determines which elements of an array are odd numbers.

% E = ISODD(A) returns a logical array, D, of the same size as A,

% with 1s (TRUE) in the locations corresponding to odd numbers

% (i.e., . . . -3, -1, 1, 3, . . . )in A, and 0s (FALSE) elsewhere.

% A must be a numeric array.

要求不能使用while或者for循环。提示:使用floor函数。

写一个函数满足下面的规定:

function H = imcircle(R, M, N)

%IMCIRCLE Generates a circle inside a rectangle.

% H = IMCIRCLE(R, M, N) generates a circle of radius R centered

% on a rectangle of height M and width N. H is a binary image with

% 1s on the circle and 0s elsewhere. R must be an integer >= 1.

你的程序应该检查R的合理性,使它能够在矩形的内部。要求不能使用for或者while 循环。提示:使用函数meshgrid和floor函数。

这个实验主要目的是学习如何显示和改变目录,并利用目录信息来读取图像。写一个函数满足下面的规定:

function [I, map] = imagein(path)

%IMAGEIN Read image in from current-working or specified directory.

% I = IMAGEIN displays a window containing all the files in the

% current directory, and saves in I the image selected from the

% current directory.

% [I, MAP] = IMAGEIN variable MAP is required to be an output

% argument when the image being read is an indexed image.

% [ . . .] = IMAGEIN('PATH') is used when the image to be read

% resides in a specified directory. For example, the input

% argument 'C:\MY_WORK\MY_IMAGES' opens a window showing

% the contents of directory MY_IMAGES. An image selected from

% that directory is read in as image I.

提示:使用在线帮助来熟悉cd,pwd,uigetfile函数的使用。或者也可以采用fullfile函数来代替cd函数

Matlab 图像处理相关函数命令大全

Matlab 图像处理相关函数命令大全 一、通用函数: colorbar 显示彩色条 语法:colorbar \ colorbar('vert') \ colorbar('horiz') \ colorbar(h) \ h=colorbar(...) \ colorbar(...,'peer',axes_handle) getimage 从坐标轴取得图像数据 语法:A=getimage(h) \ [x,y,A]=getimage(h) \ [...,A,flag]=getimage(h) \ [...]=getimage imshow 显示图像 语法:imshow(I,n) \ imshow(I,[low high]) \ imshow(BW) \ imshow(X,map) \ imshow(RGB)\ imshow(...,display_option) \ imshow(x,y,A,...) \ imshow filename \ h=imshow(...) montage 在矩形框中同时显示多幅图像 语法:montage(I) \ montage(BW) \ montage(X,map) \ montage(RGB) \ h=montage(...) immovie 创建多帧索引图的电影动画 语法:mov=immovie(X,map) \ mov=immovie(RGB) subimage 在一副图中显示多个图像 语法:subimage(X,map) \ subimage(I) \ subimage(BW) \ subimage(RGB) \ subimage(x,y,...) \ subimage(...) truesize 调整图像显示尺寸 语法:truesize(fig,[mrows mcols]) \ truesize(fig)

matlab中图像函数大全

Matlab中图像函数大全 图像增强 除高频噪声 1、lps 2、中值滤波(非线性) 3、空域模板滤波 1. 直方图均衡化的 Matlab 实现 1.1 imhist 函数 功能:计算和显示图像的色彩直方图 格式:imhist(I,n) imhist(X,map) 说明:imhist(I,n) 其中,n 为指定的灰度级数目,缺省值为256;imhist(X,map) 就算和显示索引色图像 X 的直方图,map 为调色板。用 stem(x,counts) 同样可以显示直方图。 1.2 imcontour 函数 功能:显示图像的等灰度值图 格式:imcontour(I,n),imcontour(I,v) 说明:n 为灰度级的个数,v 是有用户指定所选的等灰度级向量。 1.3 imadjust 函数 功能:通过直方图变换调整对比度 格式:J=imadjust(I,[low high],[bottom top],gamma) newmap=imadjust(map,[low high],[bottom top],gamma) 说明:J=imadjust(I,[low high],[bottom top],gamma) 其中,gamma 为校正量r,[low high] 为原图像中要变换的灰度范围,[bottom top] 指定了变换后的灰度范围;newmap=imadjust(map,[low high],[bottom top],gamma) 调整索引色图像的调色板 map 。此时若 [low high] 和 [bottom top] 都为2×3的矩阵,则分别调整 R、G、B 3个分量。 1.4 histeq 函数 功能:直方图均衡化 格式:J=histeq(I,hgram) J=histeq(I,n) [J,T]=histeq(I,...) newmap=histeq(X,map,hgram) newmap=histeq(X,map) [new,T]=histeq(X,...)

MATLAB图像处理相关函数

一、通用函数: colorbar显示彩色条 语法:colorbar \ colorbar('vert') \ colorbar('horiz') \ colorbar(h) \ h=colorbar(...) \ colorbar(...,'peer',axes_handle) getimage 从坐标轴取得图像数据 语法:A=getimage(h) \ [x,y,A]=getimage(h) \ [...,A,flag]=getimage(h) \ [...]=getimage imshow 显示图像 语法:imshow(I,n) \ imshow(I,[low high]) \ imshow(BW) \ imshow(X,map) \ imshow(RGB)\ imshow(...,display_option) \ imshow(x,y,A,...) \ imshow filename \ h=imshow(...) montage 在矩形框中同时显示多幅图像 语法:montage(I) \ montage(BW) \ montage(X,map) \ montage(RGB) \ h=montage(...) immovie 创建多帧索引图的电影动画 语法:mov=immovie(X,map) \ mov=immovie(RGB) subimage 在一副图中显示多个图像 语法:subimage(X,map) \ subimage(I) \ subimage(BW) \ subimage(RGB) \ subimage(x,y,...) \ subimage(...) truesize 调整图像显示尺寸 语法:truesize(fig,[mrows mcols]) \ truesize(fig) warp 将图像显示到纹理映射表面 语法:warp(X,map) \ warp(I ,n) \ warp(z,...) warp(x,y,z,...) \ h=warp(...) zoom 缩放图像 语法:zoom on \ zoom off \ zoom out \ zoom reset \ zoom \ zoom xon \ zoom yon\ zoom(factor) \ zoom(fig,option) 二、图像文件I/O函数命令 imfinfo 返回图形图像文件信息 语法:info=imfinfo(filename,fmt) \ info=imfinfo(filename) imread 从图像文件中读取(载入)图像 语法:A=imread(filename,fmt) \ [X,map]=imread(filename,fmt) \

Matlab画函数图像

用Matlab画函数图像 一、螺旋线 1.静态螺旋线 a=0:0.1:20*pi; h=plot3(a.*cos(a),a.*sin(a),2.*a,'b','linewidth',2); axis([-50,50,-50,50,0,150]); grid on set(h,'erasemode','none','markersize',22); xlabel('x轴');ylabel('y轴');zlabel('z轴'); title('静态螺旋线'); 2.动态螺旋线 t=0:0.1:10*pi; i=1; h=plot3(sin(t(i)),cos(t(i)),t(i),'*','erasemode','none'); grid on axis([-2 2 -2 2 0 35]) for i=2:length(t)

set(h,'xdata',sin(t(i)),'ydata',cos(t(i)),'zdata',t(i)); drawnow pause(0.01) end title('动态螺旋线'); (图略) 3.圆柱螺旋线 t=0:0.1:10*pi; x=r.*cos(t); y=r.*sin(t); z=t; plot3(x,y,z,'h','linewidth',2); grid on axis('square') xlabel('x轴');ylabel('y轴');zlabel('z轴'); title('圆柱螺旋线') 二、旋转抛物面

b=0:0.2:2*pi; [X,Y]=meshgrid(-6:0.1:6); Z=(X.^2+Y.^2)./4; meshc(X,Y,Z); axis('square') xlabel('x轴');ylabel('y轴');zlabel('z轴'); title('旋转抛物面') 或直接用:ezsurfc('(X.^2+Y.^2)./4') 三、椭圆柱面 load clown ezsurf('(2*cos(u))','4*sin(u)','v',[0,2*pi,0,2*pi]) view(-105,40) %视角处理 shading interp %灯光处理 colormap(map) %颜色处理 grid on %添加网格线 axis equal %使x,y轴比例一致 xlabel('x轴');ylabel('y轴');zlabel('z轴'); %添加坐标轴说明title('椭圆柱面') %添加标题

用MatLab制作的几个数学函数图像

文字加注: x=-1.5:0.001:1.5; y=(x.^2-1).^3+1; plot(x,y) title('\fontsize{14}\fontname{宋体}函数图像:y=(x^2-1)^3+1') xlabel('\fontsize{14}x'),ylabel('\fontsize{14}y') text(-1,1.1,'\fontsize{8}点(1,1)处倒数为零,但无极值') x=-10:1:10; y=-(x-5).^2+2; [y_max,x_max]=max(y); num2str(y_max); num2str(x_max); plot(x,y) hold on plot(y_max,t_max,'r.') hold off 字符串的应用: a=2; w=3; t=0:0.01:10; y=exp(-a*t).*sin(w*t); [y_max,t_max]=max(y); t_text=['t=',num2str(t (t_max))]; y_text=['y=',num2str(y_max)]; max_text=char('maxinum',t_text,y_text); tit=['字符串的应用:y=exp(-',num2str(a),'t)*sin(',num2str(w),'t)']; hold on plot(t,y,'b') plot(t(t_max),y_max,'r.')%最大值处以红点标示 text(t(t_max)+0.3,y_max+0.05,max_text) title(tit),xlabel('t'),ylabel('y') hold off 求近似极限,修补图形缺口: t=-2*pi:pi/10:2*pi; y=sin(t)./t; tt=t+(t==0)*eps;%逻辑数组参与运算,用“机械零”代替零元素 yy=sin(tt)./tt;%用数值可算的sin(eps)/eps近似替代sin(0)/0 subplot(1,2,1),plot(t,y),title('残缺图形 '),xlabel('t'),ylabel('y'),axis([-7,7,-0.5,1.2]) subplot(1,2,2),plot(tt,yy),title('正确图形 '),xlabel('tt'),ylabel('yy'),axis([-7,7,-0.5,1.2])

MATLAB中图像函数大全 详解及例子

图像处理函数详解——strel 功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行讲解)。 用法:SE=strel(shape,parameters) 创建由指定形状shape对应的结构元素。其中shape的种类有 arbitrary' 'pair' 'diamond' 'periodicline' 'disk' 'rectangle' 'line' 'square' 'octagon 参数parameters一般控制SE的大小。 例子: se1=strel('square',6) %创建6*6的正方形 se2=strel('line',10,45) %创建直线长度10,角度45 se3=strel('disk',15) %创建圆盘半径15 se4=strel('ball',15,5) %创建椭圆体,半径15,高度5

图像处理函数详解——roipoly 功能:用于选择图像中的多边形区域。 用法:BW=roipoly(I,c,r) BW=roipoly(I) BW=roipoly(x,y,I,xi,yi) [BW,xi,yi]=roipoly(...) [x,y,BW,xi,yi]=roipoly(...) BW=roipoly(I,c,r)表示用向量c、r指定多边形各点的X、Y坐标。BW选中的区域为1,其他部分的值为0. BW=roipoly(I)表示建立交互式的处理界面。 BW=roipoly(x,y,I,xi,yi)表示向量x和y建立非默认的坐标系,然后在指定的坐标系下选择由向量xi,yi指定的多边形区域。 例子:I=imread('eight.tif'); c=[222272300270221194]; r=[21217512112175]; BW=roipoly(I,c,r); imshow(I)

Matlab中图像函数大全 2

Matlab中图像函数大全2 matlab 2009-10-26 21:08:13 阅读900 评论0 字号:大中小订阅 边学边和大家交流,我将我在学习中搜集到的资料和大家分享! 图像处理函数详解——strel 功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行讲解)。 用法:SE = strel(shape,parameters) 创建由指定形状shape对应的结构元素。其中shape的种类有 arbitrary' 'pair' 'diamond' 'periodicline' 'disk' 'rectangle' 'line' 'square' 'octagon 参数parameters一般控制SE的大小。 例子: se1 = strel('square',6) % 创建6*6的正方形 se2 = strel('line',10,45) % 创建直线长度10,角度45 se3 = strel('disk',15) % 创建圆盘半径15 se4 = strel('ball',15,5) % 创建椭圆体,半径15,高度5

图像处理函数详解——roipoly 功能:用于选择图像中的多边形区域。 用法:BW = roipoly(I,c,r) BW = roipoly(I) BW = roipoly(x,y,I,xi,yi) [BW,xi,yi] = roipoly(...) [x,y,BW,xi,yi] = roipoly(...) BW = roipoly(I,c,r)表示用向量c、r指定多边形各点的X、Y坐标。BW选中的区域为1,其他部分的值为0. BW = roipoly(I)表示建立交互式的处理界面。 BW = roipoly(x,y,I,xi,yi)表示向量x和y建立非默认的坐标系,然后在指定的坐标系下选择由向量xi,yi指定的多边形区域。 例子:I = imread('eight.tif'); c = [222 272 300 270 221 194]; r = [21 21 75 121 121 75]; BW = roipoly(I,c,r); imshow(I) figure, imshow(BW) 图像处理函数详解——roifilt2 功能:用于对一个区域进行滤波。 用法:J = roifilt2(h,I,BW) J = roifilt2(I,BW,fun) J = roifilt2(I,BW,fun,P1,P2,...) J = roifilt2(h,I,BW)表示使用滤波器h对图像I中用二值掩模BW选中的区域滤波。BW为和I大小相同的二值图像。

Matlab中图像函数大全2010(免费版)分析

Matlab中图像函数大全 abs 绝对值、模、字符的ASCII码值acos 反余弦 acosh 反双曲余弦 acot 反余切 acoth 反双曲余切 acsc 反余割 acsch 反双曲余割 align 启动图形对象几何位置排列工具all 所有元素非零为真 angle 相角 ans 表达式计算结果的缺省变量名any 所有元素非全零为真 area 面域图 argnames 函数M文件宗量名 asec 反正割 asech 反双曲正割 asin 反正弦 asinh 反双曲正弦 assignin 向变量赋值 atan 反正切 atan2 四象限反正切 atanh 反双曲正切 autumn 红黄调秋色图阵 axes 创建轴对象的低层指令 axis 控制轴刻度和风格的高层指令 B b bar 二维直方图 bar3 三维直方图 bar3h 三维水平直方图 barh 二维水平直方图 base2dec X进制转换为十进制 bin2dec 二进制转换为十进制 blanks 创建空格串 bone 蓝色调黑白色图阵 box 框状坐标轴 break while 或for 环中断指令brighten 亮度控制

capture (3版以前)捕获当前图形 cart2pol 直角坐标变为极或柱坐标 cart2sph 直角坐标变为球坐标 cat 串接成高维数组 caxis 色标尺刻度 cd 指定当前目录 cdedit 启动用户菜单、控件回调函数设计工具cdf2rdf 复数特征值对角阵转为实数块对角阵ceil 向正无穷取整 cell 创建元胞数组 cell2struct 元胞数组转换为构架数组 celldisp 显示元胞数组内容 cellplot 元胞数组内部结构图示 char 把数值、符号、内联类转换为字符对象chi2cdf 分布累计概率函数 chi2inv 分布逆累计概率函数 chi2pdf 分布概率密度函数 chi2rnd 分布随机数发生器 chol Cholesky分解 clabel 等位线标识 cla 清除当前轴 class 获知对象类别或创建对象 clc 清除指令窗 clear 清除内存变量和函数 clf 清除图对象 clock 时钟 colorcube 三浓淡多彩交叉色图矩阵 colordef 设置色彩缺省值 colormap 色图 colspace 列空间的基 close 关闭指定窗口 colperm 列排序置换向量 comet 彗星状轨迹图 comet3 三维彗星轨迹图 compass 射线图 compose 求复合函数 cond (逆)条件数 condeig 计算特征值、特征向量同时给出条件数condest 范-1条件数估计 conj 复数共轭 contour 等位线 contourf 填色等位线

Matlab中图像函数大全

图像增强 1. 直方图均衡化的Matlab 实现 1.1 imhist 函数 功能:计算和显示图像的色彩直方图 格式:imhist(I,n) imhist(X,map) 说明:imhist(I,n) 其中,n 为指定的灰度级数目,缺省值为256;imhist(X, map) 就算和显示索引色图像X 的直方图,map 为调色板。用stem(x,coun ts) 同样可以显示直方图。 1.2 imcontour 函数 功能:显示图像的等灰度值图 格式:imcontour(I,n),imcontour(I,v) 说明:n 为灰度级的个数,v 是有用户指定所选的等灰度级向量。 1.3 imadjust 函数 功能:通过直方图变换调整对比度 格式:J=imadjust(I,[low high],[bottom top],gamma) newmap=imadjust(map,[low high],[bottom top],gamma) 说明:J=imadjust(I,[low high],[bottom top],gamma) 其中,gamma 为校正量r,[low high] 为原图像中要变换的灰度范围,[bottom top] 指定了变换后的灰度范围;newmap=imadjust(map,[low high],[bottom top],gamm a) 调整索引色图像的调色板map 。此时若[low high] 和[bottom top] 都为2×3的矩阵,则分别调整R、G、B 3个分量。

1.4 histeq 函数 功能:直方图均衡化 格式:J=histeq(I,hgram) J=histeq(I,n) [J,T]=histeq(I,...) newmap=histeq(X,map,hgram) newmap=histeq(X,map) [new,T]=histeq(X,...) 说明:J=histeq(I,hgram) 实现了所谓“直方图规定化”,即将原是图象I 的直方图变换成用户指定的向量hgram 。hgram 中的每一个元素都在[0,1] 中;J=histeq(I,n) 指定均衡化后的灰度级数n ,缺省值为64;[J,T]=histeq(I,...)返回从能将图像I 的灰度直方图变换成图像J 的直方图的变换T ;newma p=histeq(X,map) 和[new,T]=histeq(X,...) 是针对索引色图像调色板的直方图均衡。 2. 噪声及其噪声的Matlab 实现 imnoise 函数 格式:J=imnoise(I,type) J=imnoise(I,type,parameter) 说明:J=imnoise(I,type) 返回对图像I 添加典型噪声后的有噪图像J ,参数type 和parameter 用于确定噪声的类型和相应的参数。 3. 图像滤波的Matlab 实现 3.1 conv2 函数 功能:计算二维卷积

matlab 常用函数汇总

matlab 常用函数汇总 编程2008-07-10 21:45:20 阅读46 评论0 字号:大中小订阅matlab常用函数 图形注释 Title 图形标题 Xlabel X轴标记 Ylabel Y轴标记 Text 文本注释 Gtext 用鼠标放置文本 Grid 网格线 MATLAB编程语言 Function 增加新的函数 Eval 执行由MA TLAB表达式构成的字串 Feval 执行由字串指定的函数 Global 定义全局变量 程序控制流 If 条件执行语句 Else 与if命令配合使用 Elseif 与if命令配合使用 End For,while和if语句的结束 For 重复执行指定次数(循环) While 重复执行不定次数(循环) Break 终止循环的执行 Return 返回引用的函数 Error 显示信息并终止函数的执行 交互输入 Input 提示用户输入 Keyboard 像底稿文件一样使用键盘输入 Menu 产生由用户输入选择的菜单 Pause 等待用户响应 Uimenu 建立用户界面菜单 Uicontrol 建立用户界面控制 一般字符串函数 Strings MATLAB中有关字符串函数的说明 Abs 变字符串为数值 Setstr 变数值为字符串 Isstr 当变量为字符串时其值为真 Blanks 空串 Deblank 删除尾部的空串 Str2mat 从各个字符串中形成文本矩阵 Eval 执行由MA TLAB表达式组成的串 字符串比较 Strcmp , , , 比较字符串 Findstr 在一字符串中查找另一个子串

Upper 变字符串为大写 Lower 变字符串为小写 Isletter 当变量为字母时,其值为真 Isspace 当变量为空白字符时,其值为真 字符串与数值之间变换 Num2str 变数值为字符串 Int2str 变整数为字符串 Str2num 变字符串为数值 Sprintf 变数值为格式控制下的字符串 Sscanf 变字符串为格式控制下的数值 十进制与十六进制数之间变换 Hex2num 变十六进制为IEEE标准下的浮点数Hex2dec 变十六制数为十进制数 Dec2hex 变十进制数为十六进制数 建模 Append 追加系统动态特性 Augstate 变量状态作为输出 Blkbuild 从方框图中构造状态空间系统Cloop 系统的闭环 Connect 方框图建模 Conv 两个多项式的卷积 Destim 从增益矩阵中形成离散状态估计器Dreg 从增益矩阵中形成离散控制器和估计器Drmodel 产生随机离散模型 Estim 从增益矩阵中形成连续状态估计器Feedback 反馈系统连接 Ord2 产生二阶系统的A、B、C、D Pade 时延的Pade近似 Parallel 并行系统连接 Reg 从增益矩阵中形成连续控制器和估计器Rmodel 产生随机连续模型 Series 串行系统连接 Ssdelete 从模型中删除输入、输出或状态ssselect 从大系统中选择子系统 模型变换 C2d 变连续系统为离散系统 C2dm 利用指定方法变连续为离散系统 C2dt 带一延时变连续为离散系统 D2c 变离散为连续系统 D2cm 利用指定方法变离散为连续系统 Poly 变根值表示为多项式表示 Residue 部分分式展开 Ss2tf 变状态空间表示为传递函数表示 Ss2zp 变状态空间表示为零极点表示

Matlab中图像处理常用函数的用法

Matlab中常见函数的用法 1size()函数 1)s=size(A), 当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数。 2)[r,c]=size(A), 当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c。 3)size(A,n) 如果在size函数的输入参数中再添加一项n,并用1、2或者3为n赋值,则 size将返回矩阵的行数或列数。其中r=size(A,1)该语句返回的时矩阵A的行数, c=size(A,2) 该语句返回的时矩阵A的列数。如果A为一个二维数组,则可以将其看成一个第三维为1的数组,即size(A,3)的返回值为1。 2padarray()函数 B = padarray(A,padsize,padval,direction) A为输入图像,B为填充后的图像,padsize给出了给出了填充的行数和列数,通常用[r c]来表示。padval和direction分别表示填充方法和方向。它们的具体值和描述如下:Padval选项:'symmetric'表示图像大小通过围绕边界进行镜像反射来扩展; 'replicate'表示图像大小通过复制外边界中的值来扩展; 'circular'图像大小通过将图像看成是一个二维周期函数的一个周期来进行扩展。Direction选项:'pre'表示在每一维的第一个元素前填充; 'post'表示在每一维的最后一个元素后填充; 'both'表示在每一维的第一个元素前和最后一个元素后填充,此项为默认值。 若参量中不包括direction,则默认值为'both';若参量中不包含padval,则默认用0来填充。若参量中不包括任何参数,则默认填充为零且方向为'both'。在计算结束时,图像会被修剪成原始大小。 3 meshgrid()函数 meshgrid用于从数组a和b产生网格。生成的网格矩阵A和B大小是相同的,它也可以是更高维的。该函数在使用matlab进行3-D图形的绘制方面有着广泛的应用。 [A,B]=Meshgrid(a,b),生成size(b)*size(a)大小的矩阵A和B。A矩阵相当于a从一行重复增加到size(b)行,B矩阵相当于把b转置成一列再重复增加到size(a)列。因此命令等效于A=ones(size(b))*a;B=b'*ones(size(a)) 实例:a=[1:2];a =12;b=[3:5];b =345;[A,B]=meshgrid(a,b) A = 1 2 1 2 1 2 B = 3 3 4 4 5 5 4 find()函数 find函数用于找到非零元素的索引和值。 1)ind = find(X) 找出矩阵X中的所有非零元素,并将这些元素的线性索引值(linear indices:按列)

实验二--用matlab绘制一元函数与二元函数的图象

实验二 用matlab 绘制一元函数与二元函数的图象 1.平面曲线的表示形式 对于平面曲线,常见的有三种表示形式,即以直角坐标方程],[),(b a x x f y ∈=,以参数方程],[),(),(b a t t y y t x x ∈==,和以极坐标],[),(b a r r ∈=??表示等三种形式。 2.曲线绘图的MATLAB 命令 MATLAB 中主要用plot,fplot 二种命令绘制不同的曲线。 可以用help plot, help fplot 查阅有关这些命令的详细信息 例16.2.1 作出函数x y x y cos ,sin ==的图形,并观测它们的周期性。先作函数 x y sin =在]4,4[ππ-上的图形,用MA TLAB 作图的程序代码为: >>x=linspace(-4*pi,4*pi,300); %产生300维向量x >>y=sin(x); >>plot(x,y) %二维图形绘图命令 结果如图1.1,上述语句中%后面如“%产生300维向量x ”是说明性语句,无需键入。 图1.1 的图形 此图也可用fplot 命令,相应的MATLAB 程序代码为: >>clear; close; %clear 清理内存;close 关闭已有窗口。 >>fplot('sin(x)',[-4*pi,4*pi]) 结果如图1.2.

图1.2 x y sin =的图形 如果在同一坐标系下作出两条曲线 x y sin =和x y cos =在] 2, 2 [π π -上的图形,相应 的MA TLAB程序代码为: >>x=-2*pi:2*pi/30:2*pi; %产生向量x >>y1=sin(x); y2=cos(x); >>plot(x,y1,x,y2,’:’)%’:’表示绘出的图形是点线 结果如图1.3其中实线是 x y sin =的图形,点线是x y cos =的图形。 图1.3的图形

Matlab图像处理函数汇总

1、图像的变换 ①fft2:fft2函数用于数字图像的二维傅立叶变换,如:i=imread('104_8.tif'); j=fft2(i); ②ifft2::ifft2函数用于数字图像的二维傅立叶反变换,如: i=imread('104_8.tif'); j=fft2(i); k=ifft2(j); 2、模拟噪声生成函数和预定义滤波器 ①imnoise:用于对图像生成模拟噪声,如: i=imread('104_8.tif'); j=imnoise(i,'gaussian',0,0.02);%模拟高斯噪声 ②fspecial:用于产生预定义滤波器,如: h=fspecial('sobel');%sobel水平边缘增强滤波器 h=fspecial('gaussian');%高斯低通滤波器 h=fspecial('laplacian');%拉普拉斯滤波器 h=fspecial('log');%高斯拉普拉斯(LoG)滤波器 h=fspecial('average');%均值滤波器 2、图像的增强 ①直方图:imhist函数用于数字图像的直方图显示,如: i=imread('104_8.tif'); imhist(i); ②直方图均化:histeq函数用于数字图像的直方图均化,如: i=imread('104_8.tif'); j=histeq(i); ③对比度调整:imadjust函数用于数字图像的对比度调整,如:i=imread('104_8.tif'); j=imadjust(i,[0.3,0.7],[]); ④对数变换:log函数用于数字图像的对数变换,如: i=imread('104_8.tif'); j=double(i);

Matlab中图像函数

Matlab中图像函数 图像增强 1.直方图均衡化的Matlab实现 1.1 imhist函数 功能:计算和显示图像的色彩直方图 格式:imhist(I,n),imhist(X,map) 说明:imhist(I,n)其中,n为指定的灰度级数目,缺省值为256;imhist(X,map)就算和显示索引色图像X的直方图,map为调色板。用stem(x,counts)同样可以显示直方图。 1.2 imcontour函数 功能:显示图像的等灰度值图 格式:imcontour(I,n),imcontour(I,v) 说明:n为灰度级的个数,v是有用户指定所选的等灰度级向量。 1.3 imadjust函数 功能:通过直方图变换调整对比度 格式:J=imadjust(I,[low high],[bottom top],gamma) newmap=imadjust(map,[low high],[bottom top],gamma) 说明:J=imadjust(I,[lowhigh],[bottomtop],gamma)其中,gamma为校正量r,[lowhigh]为原图像中要变换的灰度范围,[bottomtop]指定了变换后的灰度范围; newmap=imadjust(map,[lowhigh],[bottomtop],gamma)调整索引色图像的调色板map。此时若[lowhigh]和[bottomtop]都为2×3的矩阵,则分别调整R、G、B,3个分量。 1.4 histeq函数 功能:直方图均衡化 格式:J=histeq(I,hgram) J=histeq(I,n) [J,T]=histeq(I,...) newmap=histeq(X,map,hgram) newmap=histeq(X,map) [new,T]=histeq(X,...) 说明:J=histeq(I,hgram)实现了所谓“直方图规定化”,即将原是图象I的直方图变换成用户指定的向量hgram。hgram中的每一个元素都在[0,1]中;J=histeq(I,n)指定均衡化后的灰度级数n,缺省值为64;[J,T]=histeq(I,...)返回从能将图像I的灰度直方图变换成图像J的直方图

matlab中绘图用的函数,语言

第四讲绘图功能

作为一个功能强大的工具软件,Matlab 具有很强的图形处理功能,提供了大量的二维、三维图形函数。由于系统采用面向对象的技术和丰富的矩阵运算,所以在图形处理方面即常方便又高效。

4.1 二维图形 一、plot函数 函数格式:plot(x,y)其中x和y为坐标向量函数功能:以向量x、y为轴,绘制曲线。【例1】在区间0≤X≤2 内,绘制正弦曲线Y=SIN(X),其程序为: x=0:pi/100:2*pi; y=sin(x); plot(x,y)

一、plot函数 【例2】同时绘制正、余弦两条曲线Y1=SIN(X)和Y2=COS(X),其程序为: x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,x,y2) plot函数还可以为plot(x,y1,x,y2,x,y3,…)形式,其功能是以公共向量x为X轴,分别以y1,y2,y3,…为Y轴,在同一幅图内绘制出多条曲线。

一、plot函数 (一)线型与颜色 格式:plot(x,y1,’cs’,...) 其中c表示颜色,s表示线型。 【例3】用不同线型和颜色重新绘制例4.2图形,其程序为:x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,'go',x,y2,'b-.') 其中参数'go'和'b-.'表示图形的颜色和线型。g表示绿色,o表示图形线型为圆圈;b表示蓝色,-.表示图形线型为点划线。

一、plot函数 (二)图形标记 在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。 title(‘加图形标题'); xlabel('加X轴标记'); ylabel('加Y轴标记'); text(X,Y,'添加文本');

Matlab中图像函数大全

Matlab中图像函数大全 - [基础知识] 图像增强 1. 直方图均衡化的 Matlab 实现 1.1 imhist 函数 功能:计算和显示图像的色彩直方图 格式:imhist(I,n) imhist(X,map) 说明:imhist(I,n) 其中,n 为指定的灰度级数目,缺省值为256; imhist(X,map) 就算和显示索引色图像 X 的直方图,map 为调色板。用 stem(x,counts) 同样可以显示直方图。 1.2 imcontour 函数 功能:显示图像的等灰度值图 格式:imcontour(I,n),imcontour(I,v) 说明:n 为灰度级的个数,v 是有用户指定所选的等灰度级向量。 1.3 imadjust 函数 功能:通过直方图变换调整对比度 格式:J=imadjust(I,[low high],[bottom top],gamma) newmap=imadjust(map,[low high],[bottom top],gamma) 说明:J=imadjust(I,[low high],[bottom top],gamma) 其中,gamma 为校正量r,[low high] 为原图像中要变换的灰度范围,[bottom top] 指定了变换后的灰度范围;newmap=imadjust(map,[low high],[bottom top],gamma) 调整索引色图像的调色板 map 。此时若 [low high] 和 [bottom top] 都为2×3的矩阵,则分别调整 R、G、B 3个分量。 1.4 histeq 函数 功能:直方图均衡化 格式:J=histeq(I,hgram) J=histeq(I,n) [J,T]=histeq(I,...) newmap=histeq(X,map,hgram) newmap=histeq(X,map) [new,T]=histeq(X,...) 说明:J=histeq(I,hgram) 实现了所谓“直方图规定化”,即将原是图象 I 的直方图变换成用户指定的向量 hgram 。hgram 中的每一个元素都在 [0,1] 中;J=histeq(I,n) 指定均衡化后的灰度级数 n ,缺省值为 64; [J,T]=histeq(I,...) 返回从能将图像 I 的灰度直方图变换成图像 J 的直方图的变换 T ;newmap=histeq(X,map) 和 [new,T]=histeq(X,...) 是针对索引色图像调色板的直方图均衡。 2. 噪声及其噪声的 Matlab 实现 imnoise 函数

MATLAB图像处理函数大全

Import, Export, and Conversion Read and Write Image Data from Files imread Read image from graphics file 从图形文件读取图像 imwrite Write image to graphics file写入图像到图形文件 imfinfo Information about graphics file 关于图形文件的信息 nitfinfo Read metadata from National Imagery Transmission Format (NITF) file从国家图像传输格式的元数据(NITF)文件nitfread Read image from NITF file从NITF文件读取图像 dpxinfo Read metadata from DPX file读取DPX文件元数据 dpxread Read DPX image读取DPX图像 analyze75info Read metadata from header file of Analyze 7.5 data set从分析7.5数据集的头文件读取元数据 analyze75read Read image data from image file of Analyze 7.5 data set从分析7.5数据集的图像文件中读取图像数据interfileinfo Read metadata from Interfile file从归档文件元数据 interfileread Read images in Interfile format在内部文件格式读取图像 Read and Write Image Data from DICOM Files dicomanon Anonymize DICOM file匿名DICOM文件 dicomdict Get or set active DICOM data dictionary获取或设置活动DICOM数据字典 dicomdisp Display DICOM file structure显示DICOM文件结构 dicominfo Read metadata from DICOM message读取DICOM消息元数据 dicomlookup Find attribute in DICOM data dictionary发现在DICOM数据字典属性 dicomread Read DICOM image读取DICOM图像 dicomuid Generate DICOM unique identifier生成DICOM的唯一标识符 dicomwrite Write images as DICOM files写图像的DICOM文件 High Dynamic Range Images hdrread Read high dynamic range (HDR) image读高动态范围(HDR)图像 hdrwrite Write Radiance high dynamic range (HDR) image file写下光辉的高动态范围(HDR)图像文件makehdr Create high dynamic range image创建高动态范围图像 tonemap Render high dynamic range image for viewing用于观看的高动态范围图像 Large Image Files ImageAdapter Interface for image I/O图像I / O接口 isrset Check if file is R-Set检查文件是否存在与r-组 openrset Open R-Set file开放与r-组文件 rsetwrite Create reduced resolution data set from image file从图像文件创建减少的分辨率数据集 Image Type Conversion gray2ind Convert grayscale or binary image to indexed image将灰度或二值图像转换为索引图像 ind2gray Convert indexed image to grayscale image将索引图像转换为灰度图像 mat2gray Convert matrix to grayscale image转换矩阵到灰度图像 rgb2gray Convert RGB image or colormap to grayscale将RGB图像的灰度或颜色表 ind2rgb Convert indexed image to RGB image索引图像的RGB图像转换 label2rgb Convert label matrix into RGB image转换成RGB图像标签矩阵 demosaic Convert Bayer pattern encoded image to truecolor image Bayer编码图像转换为彩色图像 imbinarize Binarize image by thresholding二值化图像的阈值分割 imquantize Quantize image using specified quantization levels and output values量化图像使用指定的量化电平和输出值multithresh Multilevel image thresholds using Otsu's method采用多级图像阈值Otsu方法 adaptthresh Adaptive image threshold using local first-order statistics采用局部一阶统计的自适应图像阈值otsuthresh Global histogram threshold using Otsu's method使用全局直方图阈值Otsu方法 im2bw Convert image to binary image, based on threshold基于阈值的图像转换成二值图像 graythresh Global image threshold using Otsu's method使用全局阈值Otsu方法 grayslice Convert grayscale image to indexed image using multilevel thresholding采用多层阈值化方法将灰度图像转换为索引图像im2double Convert image to double precision将图像转换为双精度 im2int16Convert image to 16-bit signed integers将图像转换为16位有符号整数 im2java2d Convert image to Java buffered image将图像转换成java缓冲图像 im2single Convert image to single precision将图像转换为单精度 im2uint16Convert image to 16-bit unsigned integers将图像转换为16位无符号整数 im2uint8Convert image to 8-bit unsigned integers将图像转换为8位无符号整数 Synthetic Images checkerboard Create checkerboard image创建棋盘格图像 phantom Create head phantom image创建头部影像 imnoise Add noise to image添加噪声到图像 Display and Exploration Basic Display imshow Display image显示图像 montage Display multiple image frames as rectangular montage显示多个图像帧矩形蒙太奇 subimage Display multiple images in single figure在单个图形中显示多个图像 immovie Make movie from multiframe image从多帧图像的电影 implay Play movies, videos, or image sequences播放电影、视频或图像序列 warp Display image as texture-mapped surface显示图像作为纹理映射的表面 iptgetpref Get values of Image Processing Toolbox preferences获取图像处理工具箱的首选项 iptprefs Display Image Processing Toolbox Preferences dialog box显示图像处理工具箱首选项对话框 iptsetpref Set Image Processing Toolbox preferences or display valid values设置图像处理工具箱的首选项或显示有效值Interactive Exploration with the Image Viewer App imtool Image Viewer app图像查看器应用程序 imageinfo Image Information tool图像信息的工具 imcontrast Adjust Contrast tool对比度调整工具 imdisplayrange Display Range tool显示范围的工具 imdistline Distance tool距离工具 impixelinfo Pixel Information tool像素信息的工具

相关主题