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

1.1 MATLAB简介

1.1.1 MATLAB软件环境

  1、可以在>>提示符后面直接输入简单的算式;

  2、“%”表示注释;

  3、可以在一行中输入多条语句,用分号隔开,也可以在多行输入同一条语句,在行末使用...

1.1.2 文件操作

  1、addpath(path)函数:path是绝对路径;

  2、genpath(directory)函数:directory为指定目录,返回包含指定目录和其全部子目录的数据,返回值可以直接提供给addpath(),即addpath(genpath(directory));

  3、打开与编辑M文件,可以使用open命令和edit命令,调用形式如下:open filename;edit filename;

1.1.3 在线帮助的使用

  1、help命令:help command-name;

  2、doc命令:doc function-name;

  3、looker命令:looker keyword,在忘记函数或命令的时候进行查找;

  4、F1命令打开帮助浏览器;

1.1.4 变量的使用

  1、变量的定义:不需要提前定义,不需要指定类型,定义的时候要赋值;

  2、who、whos命令可以查看当前工作区中变量情况,使用clear或clear all可以清除工作区的所有变量定义,也可以在clear后加变量名清除特定的变量;clc命令可以用来清屏;

  3、数据类型及其转换:matlab默认为double类型,转换格式为:a = uint8(b);

  4、读取和保存工作区域的变量:save filename arg1 arg2 arg3, ...;load filename arg1 arg2 arg3, ...;arg1 arg2 arg3是要保存或下载的变量名

1.15 矩阵的使用

  1、矩阵的定义:A = [1,2,3;4,5,6;7,8,9]或者v = [2:1:10]一维矩阵;

  2、生成特殊矩阵:

 

 

  3、获得矩阵大小和维度:size(A, dim),ndims(A)

  • A是需要查看的数组;
  • dim是指定的维度;

  例如,对于一个3行5列的矩阵B,size(B, 1) = 3,size(B, 2) = 5, size(B) = [3, 5];

  4、访问矩阵元素:A[3 ,2];访问第二行:A[2, :];访问第二列:A[:, 2];A[:]表示将矩阵按列存储得到一个长列向量。

 

 

 

  5、矩阵运算

 

  6、细胞数组(Cell Array)和结构体(Structure)

  • 细胞数组:Cell = {'Harry', 15, [1 0; 15 2]}或者Cell {1} = ‘Harry’; Cell {2} = 15; Cell {3} = [1 0; 15 2];
  • 结构体:Struct.name = 'Harry'; Struct.Age;

1.1.7 关系运算与逻辑运算

 

1.1.8 常用图像处理数学函数

 

1.1.9 MATLAB程序流程控制

  1、流程控制语句

 

  2、meshgrid()函数:[X, Y] = meshgrid(x, y)

  • x为输入的横坐标;
  • y为输入的纵坐标;
  • X、Y为输出采样点的横坐标矩阵和纵坐标矩阵

  MATLAB代码示例:

    u = [-10: 0.1: 10];

    v = [-10: 0.1: 10];

    [U, V] = meshgrid(u, v);

     H = exp(-(U.^2 + V.^2) ./2/3^2);

    mesh(u, v, H);   %绘制三维曲面函数

1.1.10 MATLAB函数编写

  1、函数语法

  • 函数定义行:function [outputs] = name(inputs)

 

1.2 MATLAB图像转换

  1、图像存储格式转换

 

  2、图像数据类型转换

  matlab读入图像默认为uint8,但很多函数,比如sin()不支持double以外的数据类型,这个时候就需要进行数据类型转换;

 

 

 

1.3 读取和写入图像文件(略)

  1、imread()函数;

  2、imwrite()函数;

  3、imfinfo()函数;

 

1.4 图像的显示

  1、imshow()函数:imshow(I, [low high], param1, value1, param2, value2, ...)

  2、多幅图像的显示

    figure;  %创建一个新的窗口

    imshow(I);

    figure;

    imshow(I, [ ]);

    %在相同窗口显示

    figure;

    subplot(1, 2, 1);

    imshow(I);

    subplot(1, 2, 2);

    imshow(I, [ ]);

  3、多帧图像的显示:movie(mov);

  4、图像的缩放:zoom on打开缩放功能;zoom off关闭缩放功能;

  5、像素值查看工具:使用imshow函数之后,通过输入impixelinfo命令在最后显示的图像窗口的左下角。

 

posted @ 2022-08-29 15:56  夏蝉沐雪  阅读(251)  评论(0编辑  收藏  举报