1、clear;//清除工作平台变量
2、close all;//关闭打开的图形窗口
3、I = imread('C:\Users\dell\Desktop\rice.jpg');//读取图像,存储在I数组中
4、imshow(I);//显示数组I
5、whos//查看图片如何存储在内存
6、figure,imhist(I);//在新窗口中显示图像的灰度分布直方图(hist直方图)
7、I2 = histeq(I);//实现直方图均衡化
8、imwrite(gray,'C:\Users\dell\Desktop\rice2.jpg');//将数组gray中的图片保存在路径中
9、imfinfo('C:\Users\dell\Desktop\rice2.jpg');//检查文件内容
10、 gray = rgb2gray(I);将RGB三通道图像转化为灰度图
11、 r = I(:,:,1);获取I数组中图像的红色分量(即一个通道)
12、 r = I(:,:,2);获取I数组中图像的绿色分量
13、 background = imopen(I,strel('disk',75));//估计图像背景(半径为75的圆盘结构元素)
>> I2 = imsubtract(I,background);//减去背景图像,创建背景一致的图像
14、 I3 = imadjust(I2);
>> I3 = imadjust(I2,stretchlim(I2),[0 1]);//调节对比度,使图像变量
15、 level = graythresh(I3);//阈值操作
>> bw = im2bw(I3,level);//转换为2值图像
>> figure,imshow(bw);
使用最大类间方差法找到图片的一个合适的阈值(threshold)。
在使用im2bw函数将灰度图像转换为二值图像时,需要设定一个阈值,
这个函数可以帮助我们获得一个合适的阈值。
16、[labeled,numobjects] = bwlabel(bw,4)//返回二值图像bw的对象个数
17、max(allgrains)//最大值
18、mean(allgrains)//均值
19、biggrain = find(allgrains == 695)//查找尺寸为695的对象,返回对象标记
20、graindata = regionprops(labeled,'basic')//返回对象属性到一个结构体数组中
21、allgrains = [graindata.Area];//得到尺寸属性
22、subplot(2,2,1);//4幅图中显示第一幅
23、ones(a,b);//产生a*b的全1矩阵
24、subplot(3,2,5),imshow(s,[]);//[]色度拉伸,将最大值设为hight;
不加,默认1最大,0最小
25、H = fspecial(‘sobel’);//建立预定义的滤波算子,sobel算子

psf = fspecial('motion',len,theta);//为运动模糊算子,有两个参数,
表示摄像物体逆时针方向以theta角度运动了len个像素,
len的默认值为9,theta的默认值为0;

H = FSPECIAL('disk',RADIUS);//为圆形区域均值滤波,disk 圆形
参数为radius代表区域半径,默认值为5.

26、J = conv2(I,h,'same')//空间的卷积相当于频域的乘积。 可以用来提取边缘,
如利用sobel 拉普拉斯算子等,这种相当于频域中的高通滤波器。
还有可以滤除噪声,相当于频域中低通滤波器。h为矩阵
27、F = fft2(noisy);
>> fftshift(F);// fftshift的作用正是让正半轴部分和负半轴部分的图像
分别关于各自的中心对称。因为直接用fft得出的数据与频率不是对应的,
fftshift可以纠正过来 (ifft2傅里叶逆变换)
28、imfilter 可进行多维图像(RGB等)进行空间滤波,且可选参数较多
filter2 只能对二维图像(灰度图)进行空间滤波
29、l= i(10+[1:255],222+[1:255],:);
29、noise3 = imadd(I,im2uint8(noise2));noise2 = 0.1*randn(size(I));
//在原图添加随机噪声
30、IM2 = imcomplement(IM) //对图像数据进行取反运算(实现底片效果)。
31、i = im2bw(ic,graythresh(ic)) //使用最大类间方差法找到图片的一个合适的阈值(threshold)
32、SE = strel(shape, parameters);//构造结构元素(Structuring element)。
所谓结构元素, 可以看做是一张小图像, 它通常用于图像的形态学运算
(如膨胀、腐蚀、开运算、闭运算)。
33、imclose();平滑边界,连接短的间隙,填充小孔
34、imopen//开运算属于形态学图像处理,是先腐蚀后膨胀,
作用是:切断细长的搭线,消除图像边缘的毛刺和孤立点,平滑图像边界
35、full();//把稀疏矩阵转换为群矩阵
36、eye(n);//返回n*n单位矩阵
37、inf 无穷大
38、floor();//返回小于等于参数的数值
39、ceil();//返回大于等于参数的数值
40、'truesize' 就是按图片实际大小显示图片,窗口会自动调节大小去适应图片尺寸。
这个是默认情况,跟省略这个参数一样。
‘notruesize' 就是图片去适应窗口,窗口大小不动,自动调节图片大小。
41、hot();是一种从黑到红到黄再到白的渐变的colormap
42、 imcrop 函数功能: 在MATLAB中,该函数用于返回图像的一个裁剪区域。
43、surf(x,y,z)绘制三维曲面的网格图
mesh(x,y,z):绘制三维曲面表面图
44、strel('disk',15);构造结构元素
45、i = i(10+[1:256],222+[1:256],:);//显示图像局部
46、 stretchlim(i2)//获取灰度范围
47、cat(Concatenate的缩写)是matlab中的一个函数,用于连结数组,cat(dim,A,B)。
48、line([x1 x2], [y1 y2],'color','r');在原图中划线
49、 plot(x,y,'*','color','g');新建窗口符号,若要在原图画,可在前面加hold on;
50、text(P_x,P_y,'黑色','color','b');
51、[b,c]=find(Ir<10)
52、im=imread([int2str(b),'.bmp']);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
double 就是简单地把一个变量类型转换成double类型,数值大小不变;

比如 a=6 是个unit8类型的话,double(a)的结果还是6,不过现在这个6是double类型的。

函数im2double将输入转换成double类型。
如果输入是 uint8 unit16 或者是二值的logical类型,
则函数im2double 将其值归一化到0~1之间,当然就是double类型的了。
如果输入本身就是double类型,输出还是double类型,并不进行归一化。。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
matlab 矩阵运算
sum(x)列求和
sum(x,2)行求和
sum(x(:))矩阵求和(矩阵所有元素的和)
m'//m的转置
m.^2//m里面的每个元素作为幂指数运算(2次幂指数)
min = [inf,0]???????????????????
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ctrl+R是多行屏蔽,ctrl+T是多行消屏蔽

matlab基本操作总结的更多相关文章

  1. matlab 基本操作

    导入excel 右键excel文件, import data, 选择column vector点击导入即可, 在右侧的workspace就可以看到添加的列变量了 在workspace中右键添加clas ...

  2. 《MATLAB面向对象程序设计》

    <MATLAB面向对象程序设计> 基本信息 作者: 苗志宏    马金强 出版社:电子工业出版社 ISBN:9787121233449 上架时间:2014-6-18 出版日期:2014 年 ...

  3. 58 matlab 编程

    0 引言 matlab中有些东西记录一下 1 matlab coder matlab命令行窗口输入: coder 回车即可打开matlab coder 窗口.接着,matlab将引导你把matlab格 ...

  4. MATLAB学习笔记之界面基本操作

    一.命令窗口 1.对于较长的命令,可以用...连接符将断开的命令连接 s=/+/+/4 ... +/+/ 注意: 连接符...与表达式之间要留一个空格: 对于单引号内的字符串必须在一行完全引起来. a ...

  5. MATLAB中图像的基本操作

    MATLAB中图像的基本操作 1.读取.显示图片 MATLAB中提供了immread()与imshow()函数读取和显示图片.其中读取函数imread()原型: imread: A = imread( ...

  6. [Machine-Learning] matlab 矩阵常见基本操作

    概述 对矩阵的主要操作,matlab 中都有现成的指令或者库函数与之对应. 矩阵最早来自于方程组的系数和常数所构成的方阵,这一概念是由19世纪的英国数学家凯利提出的. 创建矩阵 这里写的不全,但是足够 ...

  7. matlab简介 基本操作

    1.快捷键: Tab.Ctrl+] :增加缩进 Ctrl+[ :减少缩进 Ctrl+I:自动缩进 Ctrl+R:增加注释 Ctrl+T:去掉注释 F12:设置或清除断点 F5:运行 2.特殊变量: i ...

  8. Matlab如何连接Oracle数据库及基本操作

    语言和语法都是相通的,了解Oracle的连接和处理,对于其他的数据库也是类似的. 一 通过ODBC实现到oracle的连接 )控制面板->管理工具->ODBC数据源->在系统DSN中 ...

  9. Matlab矩阵基本操作(定义,运算)

    转自:http://blog.csdn.net/perfumekristy/article/details/8119861 一.矩阵的表示在MATLAB中创建矩阵有以下规则: a.矩阵元素必须在”[ ...

随机推荐

  1. Javascript通过bind()掌控this

    Javascript通过bind()掌控this: http://blog.csdn.net/rznice/article/details/26134201 bind能为我们做些什么,同时它的好处在哪 ...

  2. 如何用原生js替换字符串中的某个字符(或字符串)为指定的字符串?

    <html> <head><title>我的第一个 HTML 页面</title></head><script type=" ...

  3. 巨蟒python全栈开发flask10 项目开始2

    1.websocket异常处理 出现上图报错的原因是什么? 原因是:websocket断开了,所以报错 19行接收的msg是None值,所以报错. 打开一个文件,点击发送音乐,出现上面的内容: 客户端 ...

  4. jsonarray 循环

    JSONArray groupList = JSON.parseArray(st1); for (int i=0;i<groupList.size();i++){ JSONObject json ...

  5. Spark 源码分析 -- task实际执行过程

    Spark源码分析 – SparkContext 中的例子, 只分析到sc.runJob 那么最终是怎么执行的? 通过DAGScheduler切分成Stage, 封装成taskset, 提交给Task ...

  6. 【转】dd命令详解及利用dd测试磁盘性能

    dd命令详解及利用dd测试磁盘性能   linux下dd命令详解 名称: dd 使用权限: 所有使用者 manpage 定义: convert and copy a file 使用方式: dd [op ...

  7. Ubutun使用记录——语系错误(转)

    add by zhj: 对原文有修改,原文是在创建用户时出现的问题,而我是在使用psql时出现的, 但问题是相同的. 原文:http://www.douban.com/note/362250557/ ...

  8. python学习笔记——字符串

    类方法string.upper(str)需要引入string模块,实例方法str.upper()不需要引入string模块 无与伦比的列表解析功能 # coding=utf-8 # 列表解析 prin ...

  9. Python(并发编程进程)

    并发编程 二.多进程 要让Python程序实现多进程(multiprocessing),我们先了解操作系统的相关知识. Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊.普通的函 ...

  10. python 递归深度优先搜索与广度优先搜索算法模拟实现

    一.递归原理小案例分析 (1)# 概述 递归:即一个函数调用了自身,即实现了递归 凡是循环能做到的事,递归一般都能做到! (2)# 写递归的过程 1.写出临界条件2.找出这一次和上一次关系3.假设当前 ...