MATLAB考试复习(2014年12月31)
- 格式:doc
- 大小:174.50 KB
- 文档页数:11
历年考试题目(附答案)一、填空题1、MATLAB常用操作界面包括、工作空间窗口、、、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。
2、MATLAB中Inf或inf表示、NaN或nan表示、nargout表示。
3、MATLAB中逗号主要用作;用作输入量与输入量之间的分隔符;。
4、工作空间浏览器主要用于内存变量的、和。
5、MATLAB实现将全下标转换为单下标的指令为、据单下标换算出全下标的指令为。
6、二维数组的标识有、、“逻辑1”标识。
二、简述下列命令在MATLAB中的作用1.clf %清除图对象clear %清除工作空间内的所有变量clc %清除当前屏幕上显示的所有内容,但不清除工作空间中的数据2.ceil %沿+∞方向取整factor %符号计算的因式分解3.sph2cart %球坐标变为直角坐标pow2 %2的幂4.digits(d) %设置当前的可变算术精度的位数为整数 d 位vpa(pi,100) %设置当前pi的小数位数为1005.box on %打开框状坐标轴开grid off %网格关6.logspace %对数分度向量cat %串接成高维数组7.sym2poly %符号多项式转变为双精度多项式系数向量poly2sym %双精度多项式系数转变为向量符号多项式8.plot3 %三维线图poly2str %以习惯方式显示多项式9.bar %二维直方图pie %二维饼图10.zoom on %打开图形缩放模式 edit %M文件编辑11.whos %对当前工作空间变量的信息进行列表figure %生成图形窗口12.cart2sph %直角坐标变为球坐标pol2cart % 极或柱坐标变为直角坐标13.diff %数值差分、符号微分dsolve %符号计算解微分方程14.ezplot3 %画三维曲线的简捷指令fix %向零取整factor %符号计算的因式分解三简答题1.叙述MATLAB的主要窗口包括哪些?其作用是什么?命令窗口(Commend Window)——供输入命令,实现计算或绘图功能。
matlab考试题库及答案大学# MATLAB考试题库及答案大学一、选择题1. MATLAB中用于生成0到1之间均匀分布随机数的函数是: - A. rand- B. randi- C. randperm- D. randn答案:A2. 下列哪个命令可以用于绘制函数图像?- A. plot- B. text- C. title- D. xlabel答案:A3. MATLAB中,以下哪个不是矩阵的属性?- A. size- B. length- C. rank- D. transpose答案:D4. 以下哪个函数可以用于求解线性方程组?- A. solve- B. linsolve- C. linprog- D. fsolve答案:A5. MATLAB中,用于计算矩阵特征值的函数是:- A. eig- B. eign- C. eigen- D. eigenvalue答案:A二、填空题1. MATLAB的基本数据单位是________。
答案:矩阵2. 使用MATLAB进行数值计算时,可以利用________来存储数据。
答案:变量3. MATLAB中的向量可以是________或________。
- 答案:行向量;列向量4. 矩阵的转置可以通过________操作实现。
答案:.'5. MATLAB中,使用________函数可以计算矩阵的行列式。
答案:det三、简答题1. 简述MATLAB中使用循环结构的注意事项。
答案:在MATLAB中使用循环结构时,应注意以下几点:确保循环体内部逻辑正确,避免无限循环;使用for循环时,循环变量的初始化和步长设置要合理;使用while循环时,循环条件要明确,确保循环能够正常退出。
2. 描述MATLAB中如何实现数组的多维索引。
答案:在MATLAB中,多维数组的索引可以通过使用圆括号来实现,每个维度的索引用逗号分隔。
例如,对于一个三维数组A,可以使用A(i,j,k)来访问第i行、第j列、第k层的元素。
大学matlab考试题及答案大学MATLAB考试题及答案一、选择题1. MATLAB的全称是什么?A. Matrix LaboratoryB. Microprocessor Application Tool SetC. Microsoft Advanced Tool SetD. Microprocessor Application Test System答案:A2. 在MATLAB中,以下哪个命令用于绘制三维图形?A. plotB. scatterC. surfD. bar答案:C3. MATLAB中用于求解线性方程组的函数是?A. solveB. linsolveC. linprogD. fsolve答案:A二、简答题1. 简述MATLAB的基本数据类型有哪些,并给出至少两个每种类型的示例。
答案:MATLAB的基本数据类型包括数值数组、字符数组和单元数组。
数值数组可以是向量、矩阵或多维数组。
例如,向量 `v = [1 2 3]`,矩阵 `M = [1 2; 3 4]`。
字符数组是由单引号或双引号括起来的字符序列,如 `C = 'Hello'`。
单元数组可以包含不同类型的数据,如`{1, 'text', [1; 2; 3]}`。
2. 描述如何在MATLAB中实现矩阵的转置和翻转。
答案:矩阵的转置可以通过 `'T'` 来实现,例如 `A'` 表示矩阵A 的转置。
矩阵的翻转可以通过 `flip` 函数实现,例如 `flip(A)` 可以翻转矩阵A的所有行和列,`flipud(A)` 仅翻转矩阵A的行,而`fliplr(A)` 仅翻转矩阵A的列。
三、编程题1. 编写一个MATLAB函数,该函数接受一个向量作为输入,并返回向量中所有元素的和以及平均值。
```matlabfunction [sumVal, avgVal] = calculateSumAndAverage(V)sumVal = sum(V);avgVal = mean(V);end```2. 设计一个MATLAB脚本来解决以下问题:给定一个3x3的矩阵,找出其中最大的元素,并显示其位置。
matlab复习题标准答案# MATLAB复习题标准答案一、选择题1. MATLAB中的矩阵默认是按什么顺序存储的?- A. 行主序- B. 列主序- C. 随机序- D. 行主序2. 下列哪个函数用于计算矩阵的行列式?- A. `det`- B. `diag`- C. `trace`- A. `det`3. MATLAB中如何创建一个5x5的单位矩阵?- A. `eye(5,5)`- B. `zeros(5,5)`- C. `ones(5,5)`- A. `eye(5,5)`4. 下列哪个命令用于生成0到1之间的随机数?- A. `rand()`- B. `randi()`- C. `randn()`- A. `rand()`5. MATLAB中如何计算向量的范数?- A. `norm(vector)`- B. `abs(vector)`- C. `sum(vector)`- A. `norm(vector)`二、填空题1. MATLAB中的`%`符号用于______。
- 答案:注释2. 要创建一个从10到1的递减向量,可以使用______。
- 答案:`1:-1:10`3. MATLAB中,`zeros(3,4)`会生成一个______。
- 答案:3行4列的全零矩阵4. 函数`max(A)`会返回矩阵A中的______。
- 答案:最大值5. `plot(x,y)`函数在MATLAB中用于______。
- 答案:绘制x和y的数据点的图形三、简答题1. 请简述MATLAB中矩阵的基本操作有哪些?- 答案:矩阵的基本操作包括矩阵的创建、转置、求逆、矩阵乘法、矩阵加法、矩阵减法等。
2. MATLAB中如何实现循环结构?- 答案:MATLAB中实现循环结构主要有两种方式,一种是使用`for`循环,另一种是使用`while`循环。
3. 请解释MATLAB中的函数文件和脚本文件的区别。
- 答案:函数文件通常包含返回值和参数,可以被其他脚本或函数调用;而脚本文件主要用于执行一系列命令,不包含返回值。
MATLAB复习题(答案仅供参考)1⼀、填空题1. MATLAB命令窗⼝中可⽤clear 命令清除⼯作区中的变量;⽤clc 命令清除命令窗⼝中的内容。
2. MATLAB中的运算符包括数学运算符、矩阵运算符、数组运算符。
3 MATLAB的含义为矩阵运算。
4. MATLAB中的函数类型有嵌套函数、主函数、⼦函数、私有函数和匿名函数。
5. MATLAB中⽤系统预定义的特殊变量nargin 表⽰函数输⼊参数个数。
6. size命令的功能确定数组⼤⼩。
7. MATLAB中⽤linspace 符号定义单元数组。
8. MATLAB中⽤hold on 命令打开图形保持功能。
9 MATLAB中如果⼀个变量名为123,该变量名是否合法否(填是或否)。
10. MATLAB中⽤inv 函数完成矩阵的求逆运算,⽤det 函数求矩阵的⾏列式。
11.已知C={2+5i,’Hi’;1:4,[1 2]} 输⼊s=C(3) 即s=__'_Hi__'___.12.先输⼊P=struct(‘name’,’Jack‘,’num’,43) ,再输⼊s= 即s=___Jack___.13.当x=[ 1 2 3; 4 5 6] , y=[ 5 8; 5 8 ] 时,__不能__(能﹨不能)使⽤plot 命令绘图。
14.sym 或syms _能_______(能﹨不能)创建符号矩阵。
15.已知x=3:2:24,则x有__11_个元素。
结构的开始是“if”命令,结束是_end____命令。
17.已知x为⼀个向量,计算ln(x)的MATLAB命令是计算_log(x)___。
18.命令:>>subplot(3,3,x)中有__9_个⼦图。
19.已知s=‘显⽰“hey”’,则s的元素个数是___9__。
y=f()global WW=2y=f1(5)function y=f()global Wy=w+W创建以上函数⽂件,在命令窗⼝中运⾏“y=f”命令则显⽰__出错___。
大学matlab考试题及答案一、选择题(每题2分,共10分)1. MATLAB中用于创建向量的命令是?A. vectorB. arrayC. linspaceD. [ ]答案:D2. 以下哪个函数用于计算矩阵的行列式?A. detB. rankC. invD. eig答案:A3. 在MATLAB中,以下哪个命令用于绘制三维曲面?A. plot3B. surfC. meshD. contour答案:B4. MATLAB中,以下哪个函数用于求解非线性方程?A. fsolveB. fzeroC. linsolveD. solve答案:A5. 如何在MATLAB中创建一个全为1的3x3矩阵?A. ones(3,3)B. zeros(3,3)C. eye(3,3)D. rand(3,3)答案:A二、填空题(每题3分,共15分)1. 在MATLAB中,使用________函数可以计算矩阵的逆。
答案:inv2. 要将向量[1, 2, 3]转置成行向量,可以使用________运算符。
答案:.'3. MATLAB中,________函数用于计算两个矩阵的点乘。
答案:dot4. 若要在MATLAB中生成一个从0到1的100个等间隔的数,可以使用________函数。
答案:linspace5. 使用________函数可以在MATLAB中创建一个随机数矩阵。
答案:rand三、简答题(每题5分,共20分)1. 描述MATLAB中矩阵的基本操作有哪些?答案:矩阵的基本操作包括矩阵的创建、转置、加法、减法、乘法、点乘、求逆、行列式计算、特征值和特征向量的计算等。
2. MATLAB中如何实现循环结构?答案:MATLAB中可以使用for循环、while循环和switch-case结构来实现循环结构。
3. 简述MATLAB中函数定义的基本语法。
答案:MATLAB中函数定义的基本语法是:function [输出参数列表] = 函数名(输入参数列表)函数体end4. MATLAB中如何实现条件判断?答案:MATLAB中可以使用if-else语句、switch-case语句来实现条件判断。
matlab试题及答案# MATLAB试题及答案一、选择题1. MATLAB的基本数据单位是:A. 矩阵B. 向量C. 标量D. 数组答案:A2. 下列哪个命令可以用来绘制函数图形?A. `plot`B. `graph`C. `draw`D. `chart`答案:A3. MATLAB中,以下哪个是正确的矩阵转置操作?A. `transpose(A)`B. `A'`C. `A^T`D. `flip(A)`答案:B二、简答题1. 简述MATLAB中矩阵的基本操作。
答案:在MATLAB中,矩阵是最基本的数据结构,可以进行加、减、乘、除等基本运算。
矩阵的创建可以使用方括号`[]`,例如`A = [1 2;3 4]`。
矩阵的转置使用单引号`'`,例如`A'`。
矩阵的求逆使用`inv`函数,例如`inv(A)`。
2. MATLAB中如何实现循环结构?答案:MATLAB中实现循环结构主要有两种方式:`for`循环和`while`循环。
`for`循环用于已知迭代次数的情况,例如:```matlabfor i = 1:5disp(i);end````while`循环用于迭代次数未知的情况,例如:```matlabi = 1;while i <= 5disp(i);i = i + 1;end```三、计算题1. 给定矩阵A和B,请计算它们的乘积C,并求C的行列式。
A = [1 2; 3 4]B = [5 6; 7 8]答案:首先计算矩阵乘积C:```matlabC = A * B;```然后计算C的行列式:```matlabdetC = det(C);```结果为:```matlabC = [19 22; 43 50]detC = -16```2. 编写一个MATLAB函数,计算并返回一个向量的范数。
答案:```matlabfunction norm_value = vector_norm(v)norm_value = norm(v);end```四、编程题1. 编写一个MATLAB脚本,实现以下功能:- 随机生成一个3x3的矩阵。
计算机实践1 Matlab基础考试题目1、考试为上机操作。
2、每个考试同学考试题号由程序随机现场产生,为使每个考生之间题目难易程度相当,考生每次抽取的题目都是从同类型题目中抽取。
每位同学应做的题号在本文件的最后两页3、操作过程,请注意保存结果。
请先建立以自己“姓名拼音+学号”命名的M文件,例如:lishaohong1340502113。
在该M文件中编辑答案,每题以%第**题开始。
例如,第57题,以“%第57题”开始。
4、本测试并不确保每一个题目数学上正确,每个同学自己去判断,自己认为是怎样的结果,就写怎样的结果。
5、操作完成,将文件以附件发送至10307086@并告知老师已发送可以看书,可以看笔记,可以上网查资料。
禁止交流、相互传阅资料。
如发现,视为作弊。
一、简单计算值的计算机实现:1. i i e i i 34)3sec(7ln 26))92()2sin()8945)(233((43++-+-+π2. )94)14sec(27ln 259)(8945)(233()92()2sin(63i i i i e ++-+--π 3. i e i i 379)59sec(34ln 1116))2sin()879165)(533((43+++-+π 4.ie i i 3)59csc(34log 1611))2cos())()3/5()5^3((sin(2113+⨯++π5.i e i 3)2cot(34log 1619)2)4cos())3/1()6^2((tan(612+⨯⋅++π二、求极限、微分和积分6. 求7. 求函数)5(/)3sin(x tg x y =在0=x 处的极限8. 求函数)()sin(π-=x x y 在π=x 处的极限9. 求函数 10. 求xx )tan(,当0→x 时的极限11. 求2/1))sin((x e x y x +=的3阶导数 12. 求)3cos(2/12x e y x -=的4阶导数 13. 求33/12+-=x x y 的50阶导数 14. 求的2阶导数 15. 求的3阶导数 16. 求b x x ++)sin(在]8,0[=x 的定积分17. 求)1/(1)(2x x g +=在],1[∞=x 的定积分 18. 求2/12)(a x +在]2,2[-=x 的定积分?)()cos(1lim )(22220022=++-+→→y x y xey x y x ?)(lim 3221=++→-→y x xy y x y x xe x x x y -=1sin )(x x x x y ln 1cos )(-=19. 求 20. 求?ln 10=⎰dt t x21. 由表达式()2ln f x y =+,求/f x ∂∂,/f y ∂∂,2/f x y ∂∂∂22. 由表达式)ln(y x xy f +=,求/f x ∂∂,/f y ∂∂,2/f x y ∂∂∂23. 由表达式3y x ey +=,求/f x ∂∂,/f y ∂∂,2/f x y ∂∂∂24. 由表达式y)cos()sin(x f =,求/f x ∂∂,/f y ∂∂,2/f x y ∂∂∂25. 由表达式)cos(/)sin(x y f =,求/f x ∂∂,/f y ∂∂,2/f x y ∂∂∂26. 计算x x f +=)sin(表达式在/6x π=处的值,并将结果设置为以下精度:小数点之后 1 位、5 位和20位有效数字27. 计算1)cos(+=x f 表达式在/6x π=处的值,并将结果设置为以下精度:小数点之后 3 位、6 位和14位有效数字28. 计算)sin()tan(x x f =表达式在/6x π=处的值,并将结果设置为以下精度:小数点之后 2位、7 位和12位有效数字29. 计算)cos(/)sin(x x f =表达式在/6x π=处的值,并将结果设置为以下精度:小数点之后 1 位、8位和22位有效数字30. 计算)sin()cos(x x f +=表达式在/6x π=处的值,并将结果设置为以下精度:小数点之后 1 位、4 位和10位有效数字 三、向量、矩阵运算31. 已知A=[1 2 3];B=[3 1 4];C=[9 -1 4]求A 和B 的点积,B 和C 的叉积 32. 计算向量a=(4, 2, 8)、b=(4, 9, 6)和c=(-2, 6, -1) 的混合积)(c b a ⨯∙?cos 0==⎰∞dx xx I33. 计算向量a=(6, 1, 8)、b=(3, 9, 5)和c=(-1, 3, -5) 的混合积c b a ⨯∙)( 34. 计算向量a=(5, 2, 1)、b=(2, 4, 3)和c=(1, 2,3) 的混合积c b a ∙⨯)( 35. 计算向量a=(3, 2,6)、b=(3, 5, 7)和c=(5, 3,1) 的混合积c b a ⨯∙)(36. 求矩阵⎪⎪⎪⎭⎫ ⎝⎛--=314020112A 的特征值和特征向量 37. 求解4阶随机矩阵的特征值和特征向量38. 设A 为6阶魔方矩阵,分别对A 求逆,求行列式的值,求迹 39. 设B 为4阶魔方矩阵,分别对B 求逆,求行列式的值,求秩40. 求矩阵⎪⎪⎪⎭⎫ ⎝⎛--=623212113A 的特征值、特征向量和迹 四、求解方程组41. ⎪⎪⎩⎪⎪⎨⎧-=++=++=++=+-550754322232132132121x x x x x x x x x x x42. ⎪⎪⎩⎪⎪⎨⎧=-+-=++-=+--=-++0422123432143214324321x x x x x x x x x x x x x x x43. ⎪⎩⎪⎨⎧-=+---=+-=-+-42344324214324321x x x x x x x x x x44. ⎪⎩⎪⎨⎧=++=++=++113212523321321321x x x x x x x x x45.⎪⎩⎪⎨⎧=++=+=++1041023433232121321xxxxxxxx五、数据统计处理46.已知A=34*rand(12,10) 分别求矩阵A中各列和各行元素中的最大值,并求整个矩阵的最大值和最小值。
一、选择题共 10 小题二、填空题共 10 空三、看程序填空四、编程题 3 题填空题(计算部分)1、标点符号 ; _______可以使命令行不显示运算结果,%——用来表示该行为注释行。
2、x 为 0 ~4pi,步长为0.1pi的向量,使用命令_______创建。
x=0:0.1*pi:4*pi3、输入矩阵A= ,使用全下标方式用A(2,2) 取出元素“-5 ”,使用单下标方式用_______取出元素“-5 ”。
A(5)4、符号表达式sin(2*a+t)+m 中独立的符号变量为_______。
t5、M脚本文件和 M函数文件的主要区别是M脚本文件没有函数定义和件有函数定义 _______。
M函数文6.设 x 是一维数组, x 的倒数第 3 个元素表示为 _______;设 y 为二维数组,要删除 y 的第 34 行和 48 列,可使用命令; _______;x(_end-2_)y(34,:)=[]y(:,48)=[]7.将变量 x 以 Ascii 文本格式存储到文件 fname.txt,应使用命令 _________ _;save _x8.在 while 表达式 , 语句体 , End 循环语句中,表达式的值 __ __时表示循环条件为真,语句体将被执行,否则跳出该循环语句;非零9.要从键盘读入一个字符串并赋值给变量x,且给出提示“ Who is she?”,应使用命令 _________;x=input( ‘ Who is she? ’ , ’ s’ )_.设和B= 和 C= 均为 m*n 矩阵,且存在于 WorkSpace10A=中,要产生矩阵 D= ,可用命令 ________ _,计算可用命令 ________;D=(A-C)/B.^Cdet(inv(A ’ *B) 11.在 MATLAB 命令窗口中的“>>”标志为 MATLAB 的_______ 提示符,“│”标志为 _______提示符。
考试复习1题型:选择题(10分),判断题(10分)填空题(20分)程序解释题(15分)简答题(25分)综合题(20分)2考试范围:以上课PPT为主导,以及我们做的7次实验的内容,理解实验程序。
(1)直方图含义,灰度图,索引图和二值图的含义。
答:灰度直方图是灰度级的函数,是对图像中灰度级分布的统计,反映的是一幅图像中各灰度级像素出现的频率。
横坐标表示灰度级,纵坐标表示图像中对应某灰度级所出现的像素个数,也可以是某一灰度值的像素数占全图像素数的百分比,即灰度级的频率。
灰度直方图只能反映图像的灰度分布,而不能反映图像像素的位置,即丢失了像素的位置信息。
一幅图像对应唯一的灰度直方图,反之不成立。
不同的图像可对应相同的直方图。
一幅图像分成多个区域,多个区域的直方图之和即为原图像的直方图。
灰度直方图求双峰或多峰选择两峰之间的谷底作为阈值。
存储灰度图像只需要一个数据矩阵,数据类型可以是double也可以是uint8。
一幅灰度图像是一个数据矩阵 I,其中数据均代表了在一定范围内的颜色灰度值。
Matlab 把灰度图像用数据矩阵的形式进行存储,每个元素则表示了图像中的每个像素。
矩阵元素可以是doudle、uint8整数类型。
索引图像是把像素值作为RGB调色板下标的图像。
索引色图像包含2个结构,一个是调色板map;另一个是图像数据矩阵X。
调色板是一个有3列和若干行的色彩映像矩阵,矩阵每行代表一种色彩,通过3个分别代表红、绿、蓝颜色强度的双精度数,形成一种特定颜色。
图像数据是uint8或是双精度的。
索引图像包括数据矩阵X和颜色映像矩阵map。
其中map是一个p×3的数据矩阵,其每个元素的值均为[0, 1]之间双精度浮点型数据。
map矩阵的每一行分别表示红色、绿色和蓝色的颜色值。
而数据矩阵X可以是double和uint8型的。
真彩色图像用 R、G、B 3个分量表示1个像素的颜色,数据结构是一个m ×n×3的多维数组。
如果读取图像中(100,50)处像素值,可以查看三元组(100,50,1:3)。
与灰度图像相同,二值图像只需一个数据矩阵,每个像素只有2个灰度值。
可以采用uint8或double类型存储,工具箱中以二值图像作为返回结果的函数都使用uint8类型。
二值图像是一个逻辑类,包括0和1两个数值,像素0显示为黑色,像素1显示为白色。
通过NOT(~)命令可对二进制图像取反,数值0显示为白色,1显示为黑色。
(2)边缘检测的边缘跟踪原理基于边缘检测的图像分割方法的基本思路是先确定图像中的边缘像素,然后就可把它们连接在一起构成所需的边界。
图像边缘意味着图像中一个区域的终结和另一个区域的开始,图像中相邻区域之间的像素集合构成了图像的边缘。
进一步讲,图像的边缘是指图像灰度发生空间突变的像素的集合。
ROBERTS算子、SOBEL算子、CANNY算子、PREWITT算子。
从图像中一个边缘点出发,然后根据某种判别准则搜索下一个边缘点以此跟踪出目标边界。
确定边界的起始搜索点,起始点的选择很关键,对某些图像,选择不同的起始点会导致不同的结果。
确定合适边界判别准则和搜索准则,判别准则用于判断一个点是不是边界点,搜索准则则指导如何搜索下一个边缘点。
确定搜索的终止条件。
(轮廓跟踪法,光栅跟踪法)BW = imread('blobs.png');%读取图像[B,L,N,A] = bwboundaries(BW);%返回边界、标签矩阵、目标数、邻接矩阵imshow(BW); hold on;%显示图像for k=1:length(B),if(~sum(A(k,:)))boundary = B{k};plot(boundary(:,2), boundary(:,1), 'r','LineWidth',2);%显示目标边界for l=find(A(:,k))'boundary = B{l};plot(boundary(:,2), boundary(:,1), 'g','LineWidth',2);%显示内部边界endendend(3)形态学运算中的四种运算的含义,区别腐蚀:由所有可以填入A内部的结构元素的原点组成。
将图像平移-b(b属于结构元素),并计算所有平移的交集而得到。
膨胀:结构元素的反射与图像的交集至少有一个像素开运算:轮廓被平滑,细长的部分被去除,小的孤岛被去除。
细长的突出被去除,目标像素变成背景(先腐蚀后膨胀)闭运算:狭窄的间断被填充,背景像素变成目标。
闭运算是开运算的对偶运算(先膨胀后腐蚀)(4)区域生长的实现思路将一个图像中的一点作为种子,此种子会8邻域/4邻域进行扩展,扩展一定限制(即差值不能过大,当然你可以引入梯度这个概念,甚至二维偏导数……),求出种子生长的最终结果。
开始时确定一个或多个象素点作为种子,然后按某种相似性准则增长区域,逐步生成具有某种均匀性的空间区域,将相邻的具有相似性质的象素或区域归并从而逐步增长区域,直至没有可以归并的点或其它小区域为止。
区域内象素的相似性度量可以包括平均灰度值、纹理、颜色等信息。
(5)腐蚀中结构元素原点的作用结构元素是在特定研究目的下用来探测图像的一个小的集合或者子图像。
由所有可以填入A内部的结构元素的原点组成。
当原点不在集合中心时,腐蚀结果的形状不变,但是位置会发生偏移。
原点在结构元素内部时,腐蚀结果也在原始图像内部。
原点在结构元素外部时,腐蚀结果偏离了原始图像的位置。
凹陷的角在腐蚀后具有结构元素的形状。
原始图像凸出的角在腐蚀后保持不变。
(6)OTSU算法的实现原理及思路(7)熟悉试验内容中蓝色检测的程序思路close all; clear all; clc;%读入一张图片data=imread('蓝玫瑰.jpg');%原图像与灰度图像进行相减diff_im = imsubtract(data(:,:,3), rgb2gray(data));figure,imshow(data(:,:,3));figure,imshow(diff_im);%medfilt2函数用于执行二维中值滤波diff_im = medfilt2(diff_im, [3 3]);diff_im = im2bw(diff_im,0.05);% bwareaopen(BW,P,conn),删除二值图像BW中面积小于P的对象,默认情况下conn使用8邻域diff_im = bwareaopen(diff_im,2000);%腐蚀膨胀函数,对连通对象进行标注,bwlabel主要对二维二值图像中各个分离部分进行标注bw = bwlabel(diff_im, 8);%统计被标记的区域的面积分布,显示区域总数stats = regionprops(bw, 'BoundingBox', 'Centroid');%BoundingBox为矩形框,Centroid为质心figure,imshow(data)hold onfor object = 1:length(stats)bb = stats(object).BoundingBox;bc = stats(object).Centroid;%求矩形框的重心rectangle('Position',bb,'EdgeColor','r','LineWidth',2)plot(bc(1),bc(2), '-m+')a=text(bc(1)+15,bc(2), strcat('X: ', num2str(round(bc(1))), 'Y: ', num2str(round(bc(2)))));set(a, 'FontName', 'Arial', 'FontWeight', 'bold', 'FontSize', 12,'Color', 'yellow');h(object)=round(bc(1));z(object)=round(bc(2));endhold off(8)车牌识别的算法过程灰度化rgb2gray、灰度变换imadjust、图像去噪medfilt2、边缘检测edge/imerode/imclose/bwareaopen/、形态学处理clear all;close all;I=imread('车牌5.jpg');figure(1);subplot(211);imshow(I);title('原始图像');I_gray=rgb2gray(I);subplot(212);imshow(I_gray);title('灰度图像');I_med=medfilt2(I_gray,[3,3]);imshow(I_med);title('中值滤波后的图像');I_imad=imadjust(I_med);imshow(I_imad);title('灰度变换后的图像');I_edge=edge(I_imad,'canny');imshow(I_edge),title('边缘检测后盾额图像'); se=[1;1;1];I_erode=imerode(I_edge,se);se=strel('rectangle',[25,25]);I_close=imclose(I_erode,se);I_final=bwareaopen(I_close,2000);imshow(I_final);title('形态滤波后图像');%腐蚀、闭运算[y,x,z]=size(I_final);I6=double(I_final);Y1=zeros(y,1);for i=1:yfor j=1:xif(I6(i,j,1)==1)Y1(i,1)=Y1(i,1)+1;endendend[temp MaxY]=max(Y1);PY1=MaxY;while((Y1(PY1,1)>=50)&&(PY1>1))PY1=PY1-1;endPY2=MaxY;while((Y1(PY2,1)>=50)&&(PY2<y))PY2=PY2+1;endX1=zeros(1,x);for j=1:xfor i=PY1:PY2if(I6(i,j,1)==1)X1(1,j)=X1(1,j)+1;endendendPX1=1;while((X1(1,PX1)<3)&&(PX1<x))PX1=PX1+1;endPX2=x;while((X1(1,PX2)<3)&&(PX2>PX1))PX2=PX2-1;endPX1=PX1-1;PX2=PX2+1;PY1=PY1+10/220*(PY2-PY1);PX1=PX1+15/440*(PX2-PX1);PX2=PX2-15/440*(PX2-PX1);dw=I(PY1:PY2,PX1:PX2,:);figure;imshow(dw);bw=im2bw(dw);b=bwareaopen(bw,10);I_final=bwmorph(bw,'thin');figure,imshow(I_final);(9)理解试验6的圆检测和直线检测的程序,包括主要用到的hough检测的几个函数。