Matlab ones() & rgb2gray() & graythresh() & im2bw() 函数的使用

Matlab 图像处理 Day4:

1、ones( ) 函数;

% ones 是生成一个单位矩阵的函数:

% 其固定格式为 ones( r , c ) * A + B

% 上述各参数表示:生成一个 r 行 , c列 , 每一个数为 1*A + B 的矩阵

2、rgb2gray()函数:

% 将彩色图像转换成灰度图像

imgray = rgb2gray( imread( path ) );

3、graythresh()函数:

% 使用最大类间方差法找到图片的一个合适的阈值。

V1=imread(A);

V1=rgb2gray(V1);

threshold=graythresh(V1);

4、im2bw( ) 函数:

% 利用阈值将灰度图像转换成二值图像

% 一般意义上是指只有纯黑(0)、纯白(255)两种颜色的图像

V = ~im2bw(V1,threshold);

Matlab ones() & rgb2gray() & graythresh() & im2bw() 函数的使用

时间: 2024-11-15 11:04:12

Matlab ones() & rgb2gray() & graythresh() & im2bw() 函数的使用的相关文章

matlab的rem()和mod()函数

matlab的rem()和mod()函数 rem(x,y):求整除x/y的余数 mod(x,y):求模 rem(x,y)=x-y.*fix(x./y);  (fix()向0取整) mod(x,y)=x-y.*floor(x./y); (floor()向左取整) 如果x和y的符号相同(同为‘+’,同为‘-’),那么rem(x,y)=mod(x,y)(正数与正数,负数与负数,取整结果两个函数效果一样) 如果x和y的符号相反,那么mod(x,y)=rem(x,y)+y(正数与负数的取整,看你希望得到什

Matlab近期用到的函数(持续更新)

最近任务用到matlab较多,第一版的代码大部分对于矩阵类的计算都是用for循环来完成的,主要是思维还没有适应matlab.看了同事的一份代码后,现在遇到需要循环的地方第一反应就是如何能够用矩阵的直接计算来替代.比如,统计一个矩阵中大于某值的所有元素的和.所以,就会经常要用到一些matlab已经写好的函数.在此整理出来,以备以后查用. 日期: tmpstr = '2015-05-08'; date = datestr(datenum(tmpstr),'yymmdd'); hourNum = ho

matlab中同一文件定义子函数的方法

在matlab中一个.m文件中可以有多个的子函数,但仅能有一个主函数,并且M文件名必须和主函数相同在一个m文件中通常有两种定义子函数的方法: 1.嵌套定义 myfunc1会和主函数共享变量名.这种情况下,使用相同的变量名,如果不是故意为之,就不合适了.function mainFunc(... a = myfunc1();...function myfunc1()...end end2. 非嵌套定义function mainFunc()...a = myfunc1();...end functi

MATLAB——第一天 循环,函数

写在前面 非常具有戏剧性的参加了数学建模,得知比赛过程中要用到MATLAB来处理一些数据, 所以在前期准备的过程中不得不默默的去捡起来那早已扔到九霄云外的些许知识. 整个过程纯自学,有理解偏差的地方望读者批评指正 正文 1.循环 一般格式: for   循环控制 {    操作  } end --跟常用的编程语言不同,MATLAB循环必须有end才标识着循环的结束 换言之,for和end之间的都是for循环下的操作.另外end有就近原则 循环控制有多种形式 ①默认自加1的 for i=1:3 %

MATLAB GUI不同控件函数间变量传递方法

在GUI中一个控件函数结束后,会将在这个函数中使用的变量全部删除,如果想在另一个控件中使用,则必须想办法将这个变量保存传递,方法有以下几种:1.使用globe定义全局变量,这种方法不是很好,一方面是要在使用变量的函数里面要先对变量进行声明,另一方面,在一个函数里面对变量进行操作就会对所有函数起作用,这样不是太方便,但毕竟是一种解决方法. function btn1_callback(hObject,userdata,handles)global var1%对var1的处理 function bt

Matlab clear, clc 和close函数

1.clear 作用:删除工作空间中的项目,释放系统内存 语法: clear clear name clear name1 name2 name3... clear global name clear -regexp expr1 expr2... clear global -regexp expr1 expr2... clear keyword clear('name1','name2','name3',...) 描述: clear 删除工作空间内所有的变量,释放系统内存 clear name

Matlab基本功能:自定义函数、添加块注释、定时器的试用

1.自定义函数 新建一个m文件 在m文件里面第一行输入function [X,Y]=pll(X1,Y1,X2,Y2),这里x1 x2 y1 y2是你函数的输入值, x y是输出值,接着定义你要实现的功能,比如:x = x1 + x2; y = y1 + y2; 接着保存这个m文件,注意!! 这个m文件的名字必须是定义的函数的名字,即保存为pll.m 否则会出错. 接着在matlab命令窗口中输入 pll(1,2,3,4)看看会得到什么? 也可以另外创建一个m文件,在这里调用pll()这个函数.

Matlab load & global 变量 & length( ) 函数 & msgbox( )函数

Matlab 图像处理 Day7: 1. load 变量: 作用是读取一个 .mat 文件. 2. global 变量: 意思后面声明的变量是全局变量. 3. length( ): % 一般形式为 x = length( A ): 其中A是矩阵,length( )返回的是矩阵行或列数值较大的那个 4.msgbox( ): % 根据matlab自带的帮助文档可以知道 msgbox 函数大致有5种用法,分别是: < i >.msgbox(Message): < ii >.msgbox(

Matlab中bsxfun和unique函数解析

一.问题来源 来自于一份LSH代码,记录下来. 二.函数解析 2.1 bsxfun bsxfun是一个matlab自版本R2007a来就提供的一个函数,作用是”applies an element-by-element binary operation to arrays a and b, with singleton expansion enabled. 函数用在两个数组间元素逐个计算.比如当我们想对一个矩阵A的每一列或者每一行与同一个长度相等的向量a进行某些操作(比较大小,乘除等)时,我们只