首先,在了解了大概的数字图像处理的基本知识后,我准备用MATLAB工具软件来进行编辑和处理。因此接下来的几章我都会记录我看到的一些比较重要的,比较基础的,或者可能会用到的MATLAB的相关知识介绍。
1.字符串操作常用的函数,如下表:
函数 | 说明 | 函数 | 说明 |
blanks(n) | 生成一个由n个空格组成的字符串 | str2double(s) | 将字符串数组转化为数值数组 |
cellstr(s) | 利用给定的字符数s组创建字符串单元数组 | strcat(s1,s2,...) | 将多个字符串串联 |
char(s1,s2,...) | 利用给定的字符串或单元数组s1、s2...创建字符数组 | strcmp(s1,s2) | 判断字符串是否相等 |
deblank(s) | 删除字符串s尾部的空格 | strcmpi(s1,s2) | 判断字符串是否相等(忽略大小写) |
double(s) | 将字符串s转化成ASC码形式 | strjust(s1,type) | 按照指定的type调整呢一个字符串数组 |
findstr(s1,s2) | 在长字符串中查找短字符串 | strfind(s1,s2) | 在字符串s1中查找s2 (注意与findstr的区别) |
iscellstr(A) | 判断是不是字符串单元数组 | strncmp(s1,s2,n) | 判断前n个字符串是否相等 |
ischar(A) | 判断是不是字符串数组 | strncmpi(s1,s2,n) | 判断前n个字符串是否相等(忽略大小写) |
isletter(‘A‘) | 判断是不是字母 | strrep(s1,s2,s3) |
将字符串s1中出现的s2用s3代替 |
isspace(‘s‘) | 判断是不是空格 | strtok(s1,D) | 查找s1中的第一个给定的分隔符之前和之后的字符串 |
lower(s) | 将一个字符串写成小写 | strtrim(s) | 删除字符串s开始和结尾的空格 |
int2str(x) | 将整数型转换为字符串 | strvcat(s1,s2,...) | 将多个字符串竖直排列 |
num2str(x) | 将数字转换成字符串 | upper(s) | 将一个字符串写成大写 |
2.字符串的连接和拆分:
下面是常用的一些连接拆分的MATLAB的代码,值得注意的是,以数组合并符“[ ]”可以连接两个字符串,连接后保留字符串结尾处的空格;而通过字符串连接函数strcat()将字符串连接后会将结尾的空格删除。
close all; clear all; clc; %关闭所有图形窗口,清除工作空间所有变量,清空命令行 S1=‘How are you! ‘; %创建S1字符串 S2=‘Fine, Thank you!‘; %创建S2字符串 A=[S1,S2]; %合并字符数组 B=char(S1,S2); %连接字符串S1和S2 C=strcat(S1,S2); %横向连接字符串S1和S2 D=strvcat(S1,S2); %纵向连接字符串S1和S2 E=S2(7:16); %拆分截取字符串S2
运行结果的workplace如下图所示:
3.字符串的转换
close all; clear all; clc; %关闭所有图形窗口,清除工作空间所有变量,清空命令行 num=rand(3,3); %产生3×3随机矩阵 s1=num2str(num); %将数值转换成字符串 s2=num2str(pi,10); %将pi的前10位转换成字符串 int=12345; s3=int2str(int); %将整数转换成字符串 s4=mat2str(pascal(3)); %将矩阵转换成字符串 num1=str2num(‘123456‘); %将字符串转换成数值 num2=str2double(‘1234.56‘); %将字符串转换成双精度浮点数
运行结果:
4.进制之间的转换
close all; clear all; clc; %关闭所有图形窗口,清除工作空间所有变量,清空命令行 a=bin2dec(‘1011001‘); %将二进制数转换成十进制数 b=dec2bin(18); %将十进制数转换成二进制数 c=hex2dec(‘9A2B‘); %将十六进制数转换成十进制数 d=dec2hex(97); %将十进制数转换成十六进制数 e=base2dec(‘212‘,3); %将任意进制数转换成十进制数
5.逻辑类型
close all; clear all; clc; %关闭所有图形窗口,清除工作空间所有变量,清空命令行 A=[0 0 1;2 0 0;0 3 0]; B=logical(A); %将矩阵A转换成逻辑矩阵B C=true(3); %生成3阶逻辑真矩阵 D=false(3); %生成3阶逻辑假矩阵
运行结果:
原文:http://www.cnblogs.com/sharilove/p/sharilove_digital_image_processing_002.html