• 第一章 MATLAB数字图像处理编程基础


    1 为什么用MATLAB

    MATLAB的图像处理工具箱(Image Processing Toolbox,IPT)封装了一系列不同图像处理需求的标准算法,它们都是通过直接或间接调用MATLAB中矩阵运算和数值运算函数来完成图像处理任务。

    2 MATLAB R2011a简介

    2.1文件操作函数

    1.addpath函数

    1.addpath函数
    向path变量中加入指定的目录路径,其原型如下。
    addpath('dir','dir','dir3'...'-flag')
    参数说明:
    dir为要加入的目录路径,这些变量必须是绝对路径;
    flag可以有来指定函数行为:
    (flag=0或begin,flag参数省略时,默认为此项)时,这些路径被添加到搜索路径最前面;
    (flag=1或end),路径被添加到搜索路径列表最后。
    可以在addpath函数前后查看path变量内容,以确定添加成功。
    

    2.genpath函数

    生成包含指定目录下所有子目录的路径变量,其原型如下。
    p=genpath('directory');
    参数说明:
    (1)参数directory为指定的目录。
    (2)返回值:
    函数返回包含指定目录本身和其全部子目录的数据。
    
    返回值也可以直接提供为addpath函数,从而直接添加一个目录与其全部子目录到路径列表。
    

    函数用途示例:可以方便调用一个程序工具箱路径,就可以直接使用工具箱中的函数文件了。

    3.打开与编辑M文件

    open filname//打开文件
    edit filename//编辑文件

    4.查看工作空间的变量

    who
    
    whos

    5.读取保存工作区中的变量

    save filename arg1 arg2 arg3...
    load filename arg1 arg2 arg3...
    用处:matlab与vc相比执行效率不高,可根据需要在希望中断程序时保存程序的所有上下文变量,以备之后随时从中断点开始执行
    

    6.生成特殊矩阵函数

    函数名称 用途    

    eye  

    产生单位矩阵
    zeros  产生全部元素为0的矩阵
    ones 产生全部元素为1矩阵
    true 产生全部元素为真的逻辑矩阵
    false  产生全部元素为假的逻辑矩阵
    rand 产生均匀分布随机矩阵
    randn 产生正态分布随机矩阵
    randperm 产生随机排列
    limspace 产生线性等分的矩阵
    logspace 产生对数等分向量
    company   产生伴随矩阵
    hadamarb 产生hadamarb矩阵
    magic   产生幻方矩阵
    hib 产生hibert矩阵
    invhilb 产生逆hibert矩阵

     7.获得矩阵大小和维度

    size(A,dim)
    (1)A为需要查看大小的数组
    (2)dim为指定的要查看的维数。dim省略时返回一个包含数组从第一维到最后一维大小的数组
    
    ndims(A)
    返回A的维数
    

    8.获取矩阵子块

    命令 用途
    A(M,N) 提取m行n列位置的一个元素
    A(:N) 提出第n列
    A(M,:) 提出第M行
    A(m1:m2,n1:n2) 提出m1到m2行,n1到n2列的一个子块
    A(m:end,n) 提出m行到最后一行,第n列的一个
    A(:) 将矩阵按列存储得到一个长列向量

    9.细胞数组(Cell Array)

    例:
    Cell={'Harry',15,[1 0;15 2]};
    元素访问:
    Cell{1}='Harry';
    Cell{2}=15;
    Cell{3}={1 0;15 2};
    
    用圆括号形式的索引可以得到变量的描述,如下所示:
    >>Cell(3)
    ans=
        {2*2 double}
    

    10.结构体  

    Struct.Name='Harry';
    Struct.Age=15;
    Struct.SalaryMatrix={1 0;15 2};
    >>
    Struct%显示结构体的内容
    Struct=
                Name:'Harry'
                Age:15
    SalaryMatrix:[2*2 double]
    >> Struct.SalaryMatrix
    
    ans = 
    
        [ 1]    [0]
        [15]    [2]
    %访问结构体的内部字段
    >>
    name=Struct.Name;
    

    11常用图像处理函数

    MATLAB函数分有:数值函数,矩阵函数,逻辑函数等。

    函数 用途
    all 是否所有元素非零
    any 是否至少有一元素非零
    isempty 是否空矩阵
    isequal 是否两矩阵相同
    isinf 判断有无inf元素
    isnan 判断有无nan元素
    isreal 判断是否实矩阵
    find 返回一个由非零元素下标组成的矩阵
    det 计算方阵对应的行列式
    diag 抽取对角线元素
    eig 求特征值和特征向量
    flipud 上下翻转
    inv 求逆矩阵
    lu 三角分解
    norm 求范数
    orth 正交化
    poly 求特征多项式
    qr 正交三角分解
    rank 求矩阵的秩
    svd 奇异值分解
    trace 求矩阵的迹      
    Tril 抽取上三角矩阵
    tnu 抽取下三角阵
       
       
       

     

  • 相关阅读:
    SQL优化值-exists
    Oracle执行计划详细讲解
    SpringBoot配置加解密工具之Jasypt
    升级Spring Boot 2.0后RelaxedPropertyResolver不可用的解决方案
    Spring, SpringBoot之占位符源码解析
    springboot启动原理深度解析
    Java SPI技术深度解读
    [VCSA7]添加共享磁盘
    [VCSA7]MacOS部署VCSA7
    [Oracle]查看数据库磁盘空间
  • 原文地址:https://www.cnblogs.com/freesblog/p/4184772.html
Copyright © 2020-2023  润新知