毕业设计——人脸检测——004 学习别人代码——《matlab读取一个目录下的所有图片》
2011-12-08 05:17
501 查看
学习warmyellow的代码——《matlab读取一个目录下的所有图片》
/article/8923423.html
function -Declare
function
Syntax
function [out1, out2, ...] = myfun(in1, in2, ...)
Description
function[out1, out2, ...] = myfun(in1, in2, ...) declares the function myfun, and its inputs and outputs. The function
declaration must be the first executable line of any MATLAB function.
The existing commands and functions that compose the new function reside in a text file that has a .m extension
to its filename.
MATLAB program files can be either scripts or functions.
Scripts are simply files containing a sequence of MATLAB statements. Functions make use of their own local variables and accept input arguments.
The name of a MATLAB function file begins with an alphabetic character and has a filename extension of .m. The
file name, less its extension, is what MATLAB searches for when you try to use the script or function.
The first line of a function defines the syntax with which you call it. The name you give to a function, as defined in the first line, should be the same as the name of the file containing the function, but without the .m extension.
The variables within the body of the function are all local variables.
A subfunction,visible only to the other functions in the same
file, is created by defining a new function with the function keyword after the body of the preceding function
or subfunction. Subfunctions are not visible outside the file where they are defined.
You can terminate any type of function with an end statement,
but doing so is not required unless the file containing the function also contains one or more nested functions. Within this file, every function
(including primary, nested, private, and subfunctions) must be terminated with an end.
Functions normally return when the end of the function is reached. Use a return statement to force an early return.
When MATLAB does not recognize a function by name, it searches for a file of the same name on disk. If the function is found, MATLAB compiles it into memory for subsequent use. The section Determining
Which Function Gets Called in the MATLAB Programming Fundamentals documentation explains how MATLAB interprets variable and function names that you enter, and also covers the precedence used in function dispatching.
When you call a function from the command line or from another function, MATLAB parses the function and stores it in memory. The parsed function remains in memory until cleared with the clear command
or you quit MATLAB. The pcode command
performs the parsing step and stores the result on the disk as a P-file to be loaded later.
Examples
Example 1
The existence of a file on disk called stat.m containingthis code defines a new function called stat that calculates the mean and standard deviation of a vector:
function [mean,stdev] = stat(x) n = length(x); mean = sum(x)/n; stdev = sqrt(sum((x-mean).^2/n));
Call the function, supplying two output variables on the left side of the equation:
[mean stdev] = stat([12.7 45.4 98.9 26.6 53/1]) mean = 47.3200 stdev = 29.4085
Example 2
avg is a subfunction within the file stat.m:function [mean,stdev] = stat2(x) n = length(x); mean = avg(x,n); stdev = sqrt(sum((x-avg(x,n)).^2)/n); function mean = avg(x,n) mean = sum(x)/n;
Call the function and compare the answer with that of Example 1, above:
[mean stdev] = stat2([12.7 45.4 98.9 26.6 53/1]) mean = 47.3200 stdev = 29.4085
nargin -Number
of function input arguments
Syntax
narginnargin(function_name)
Description
nargin returnsthe number of input arguments passed in a call to the currently executing function. Use this nargin syntax only
in the body of a function.
nargin(function_name) returns
the number of input arguments declared for a given function, function_name. If the function has a variable number
of input arguments, nargin returns a negative value.
Input Arguments
function_name | function_name is the name of a function, or the name of a function handle that maps to a specific function. Enclose function_name in single quotation marks. |
Examples
This example shows portions of the code for a function called myplot, which accepts an optional number of inputarguments:
function myplot(x, y, npts, angle, subdiv) % MYPLOT Plot a function. % MYPLOT(x, y, npts, angle, subdiv) % The first two input arguments are % required; the other three have default values. ... if nargin < 5, subdiv = 20; end if nargin < 4, angle = 10; end if nargin < 3, npts = 25; end ... plot(x, y)
nargout -Number
of function output arguments
Syntax
nargoutnargout(function_name)
Description
nargout returnsthe number of output arguments specified in a call to the currently executing function. Use this nargout syntax
only in the body of a function.
nargout(function_name) returns
the number of outputs declared for a given function function_name. If the function has a variable number of output
arguments, nargout returns a negative value.
Input Arguments
function_name | function_name is the name of a function, or the name of a function handle that maps to a specific function. Enclose function_name in single quotation marks. |
Examples
This example shows portions of the code for a function called myplot, which accepts an optional number of outputarguments:
function [x0, y0] = myplot(x, y, npts, angle, subdiv) % MYPLOT Plot a function. % MYPLOT(x, y, npts, angle, subdiv) ... if nargout == 0 plot(x, y) else x0 = x; y0 = y; end
strcmp -Compare
strings (case sensitive)
Syntax
TF =strcmp(string,string)
TF = strcmp(string,cellstr)
TF = strcmp(cellstr,cellstr)
Description
TF =strcmp(string,string) compares
two strings for equality. The strings are considered to be equal if the size and content of each are the same. The function returns a scalar logical 1 for equality, or scalar logical 0 for inequality.
TF =
strcmp(string,cellstr) compares
a string with each element of a cell array of strings. The function returns a logical array the same size as the cellstr input
in which logical 1 represents equality. The order of the input arguments is not important.
TF =
strcmp(cellstr,cellstr) compares
each element of one cell array of strings with the same element of the other. The function returns a logical array the same size as either cell array input.
Tips
The strcmp function is intended for comparison of character data. When used to compare numeric data, it returnslogical 0.
Use strcmpi for
case-insensitive string comparisons.
Any leading and trailing blanks in either of the strings are explicitly included in the comparison.
The value returned by strcmp is not the same as the C language convention.
strcmp supports international character sets.
Input Arguments
string | A single character string or n-by-1 array of strings. |
cellstr | A cell array of strings. |
Output Arguments
TF | When both inputs are character arrays, TF is a scalar logical 1 or 0. This value is logical 1 (true) if the size and content of both arrays are equal, and logical 0 (false) if it is not. When either or both inputs is a cell array of strings, TF is an array of logical ones and zeros. This array is the same size as the input cell array(s), and contains logical 1 (true) for those elements of the input arrays that are a match, and logical 0 (false) for those elements that are not. |
Examples
Perform a simple comparison of two strings:strcmp('Yes', 'No') ans = 0 strcmp('Yes', 'Yes') ans = 1
A = {'Handle Graphics', 'Statistics'; ... ' Toolboxes', 'MathWorks'}; B = {'Handle Graphics', 'Signal Processing'; ... 'Toolboxes', 'MATHWORKS'};
match = strcmp(A, B) match = 1 0 0 0
The result of comparing the two cell arrays is:
match{1,1} is 1 because "Handle Graphics" in A{1,1} matches
the same text in B{1,1}.
match{1,2} is 0 because "Statistics" in A{1,2} does
not match "Signal Processing" in B{1,2}.
match{2,1} is 0 because " Toolboxes", in A{2,1} contains
leading space characters that are not in B{2,1}.
match{2,2} is 0 because "MathWorks" in A{2,2} uses
different letter case than "MATHWORKS" in B{2,2}, and strcmp does
a case-sensitive comparison.
A string to an array of strings.
A padded string to a cell array of strings.
An unpadded string to a cell array of strings.
Start by creating the necessary data structures.
Cell array of strings –
Create a 3-element cell array of strings:
cellarr = { ... 'There are 10 kinds of people in the world,'; ... 'those who understand binary math,'; ... 'and those who don''t.'};
String array –
From the cell array, create a string array. The string array contains space characters at the end of rows 2 and 3 for the padding needed to make the array rectangular:
strarr = char(cellarr) strarr = There are 10 kinds of people in the world, those who understand binary math, and those who don't. % Each line ends here ^
String vector –
From row 2 of the string array, create a string vector. This string is also padded with spaces at the end:
strvec = strarr(2,:) strvec = those who understand binary math, % Padded line ends here ^
Begin the comparisons. Start by comparing the string vector with the string array. When comparing character arrays, strcmp does
not do a row-by-row comparison. It compares all of the 1-by-42 strvec with all of
the 3-by-42 strarr. Finding them to be different, the answer isfalse and strcmp returns
logical 0:
strcmp(strvec, strarr) ans = 0
Compare the string vector to the cell array. Even though strvec is essentially the same as row 2 of cellarr,
it is not a match because of the space padding in strvec:
strcmp(strvec, cellarr) ans = 0 0 0
Remove the space padding from the string vector and compare it to the cell array. strcmp compares strvec with
each row of the cellarr, finding a match with the second row of the latter:
strcmp(deblank(strvec), cellarr) ans = 0 1 0
strcat -Concatenate
strings horizontally
Syntax
combinedStr =strcat(s1, s2,
..., sN)
Description
combinedStr =strcat(s1, s2,
..., sN) horizontally
concatenates strings in arrays s1, s2,
..., sN. Inputs can
be combinations of single strings, strings in scalar cells, character arrays with the same number of rows, and same-sized cell arrays of strings. If any input is a cell array, combinedStr is
a cell array of strings. Otherwise, combinedStr is
a character array.
Tips
For character array inputs, strcat removes trailing ASCII white-space characters: space, tab, vertical tab, newline,carriage return, and form-feed. To preserve trailing spaces when concatenating character arrays, use horizontal array concatenation, [s1, s2,
..., sN]. See
the final example in the following section.
For cell array inputs, strcat does not remove trailing white space.
When combining nonscalar cell arrays and multi-row character arrays, cell arrays must be column vectors with the same number of rows as the character arrays.
Examples
Concatenate two cell arrays:a = {'abcde', 'fghi'}; b = {'jkl', 'mn'}; ab = strcat(a, b)
MATLAB returns
ab = 'abcdejkl' 'fghimn'
the previous example with a scalar cell:
c = {'Q'}; abc = strcat(a, b, c)
MATLAB returns
abc = 'abcdejklQ' 'fghimnQ'
a = 'hello '; b = 'goodbye'; using_strcat = strcat(a, b) using_arrayop = [a, b] % Equivalent to horzcat(a, b)
MATLAB returns
using_strcat = hellogoodbye using_arrayop = hello goodbye
相关文章推荐
- tips:matlab读取一个目录下的所有图片
- 毕业设计——人脸检测——003 学习别人代码
- 如何用几行代码读取目录下所有的图片
- 如何用几行代码读取目录下所有的图片
- matlab读取一个目录中所有文件的方法
- 毕业设计——人脸检测——001 图片导入MATLAB
- 如何用几行代码读取目录下所有的图片
- 毕业设计——人脸检测——MATLAB 在图片上画矩形框(已知矩形左上角坐标、长、宽)
- 毕业设计——人脸检测——002 MATLAB实现提取一张图片像素点的RGB值
- 读取指定目录下的所有文件生成一个excel
- OpenCV学习笔记(三)人脸检测的代码分析
- matlab一个文件夹里面包含多个文件夹,读取所有文件夹内的图像路径生成list
- php读取目录所有文件信息实现代码
- PHP读取目录下所有文件的代码
- 用Perl读取一个目录下的所有文件名
- matlab读取文件夹下的所有图片及其子文件夹下的所有图片
- php列出一个目录下的所有文件的代码
- 把一个文件中所有文件名或者文件路径读取到一个txt文件,然后在matlab中读取
- matlab中,如何一次读取同一个目录下的多个文件?
- 基于Gabor特征提取和人工智能神经网络的人脸检测matlab代码