MATLAB
图像处理实例详解
——
程序部分
MATLAB图像处理实例详解
目录
第 2 章 MATLAB 基础 .................................................................................................................... 1
第 3 章 MATLAB 图像处理基础 .................................................................................................. 11
第 4 章 数字图像的运算 ............................................................................................................. 18
第 5 章 图像增强技术 ................................................................................................................. 33
第 6 章 图像复原技术 ................................................................................................................. 39
第 7 章 图像分割技术 ................................................................................................................. 44
第 8 章 图像变换技术 ................................................................................................................. 46
第 9 章 彩色图像处理 ................................................................................................................. 54
第 10 章 图像压缩编码 ............................................................................................................... 55
第 11 章 图像特征分析 ............................................................................................................... 69
第 12 章 形态学图像处理 ......................................................................................................... 103
第 13 章 小波在图像处理中的应用 ......................................................................................... 106
第 14 章 基于 SIMULINK的视频和图像处理 ........................................................................... 117
第 15 章 图像处理的 MATLAB 实例 ......................................................................................... 120
MATLAB图像处理实例详解
1
第 2 章 MATLAB 基础
close all; clear all; clc; %关闭所有图形窗口,清除工作空间所有变量,清空命令行
A=240;
B1=int8(A); %将 A 进行强制类型转换为 8 位有符号整数
B2=int16(A); % 将 A 进行强制类型转换为 16 位有符号整数
B3=uint8(A); % 将 A 进行强制类型转换为 8 位无符号整数
B4=uint16(A); % 将 A 进行强制类型转换为 16 位无符号整数
close all; clear all; clc; %关闭所有图形窗口,清除工作空间所有变量,清空命令行
A=123.567;
B=single(A); % 将双精度浮点型转换为单精度浮点型
C=int16(A); %将双精度浮点型转换为 16 位有符号整型
close all; clear all; clc; %关闭所有图形窗口,清除工作空间所有变量,清空命令行
A1=round(-1.9); %应用 round( )函数对浮点数取整
A2=round(3.4);
B1=fix(-1.9); %应用 fix( )函数对浮点数取整
B2=fix(3.4);
C1=floor(-1.9); %应用 floor( ) 函数对浮点数取整
C2=floor(3.4);
D1=ceil(-1.9); %应用 ceil( )函数对浮点数取整
D2=ceil(3.4);
close all; clear all; clc; %关闭所有图形窗口,清除工作空间所有变量,清空命令行
S='Please create a string!'; %创建字符串
[m,n]=size(S); %计算字符串大小
a=double(S); %计算字符串的 ASCII码
S1=lower(S); %将所有字母转换成小写字母
S2=upper(S); %将所有字母转换成大写字母
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
close all; clear all; clc; %关闭所有图形窗口,清除工作空间所有变量,清空命令行
S1='My name is Tommy';
S2='Nice to meet you';
MATLAB图像处理实例详解
2
a=S1==S2; %判断两个字符串是否相等
b=S1>S2; %判断 S1是否大于 S2
c=lt(S1,S2); %应用函数判断 S1 是否小于 S2
d=S1<S2; %判断 S1是否小于 S2
close all; clear all; clc; %关闭所有图形窗口,清除工作空间所有变量,清空命令行
S1='Good morning!';
S2='good morning, Sir.';
a=strcmp(S1,S2); %比较两个字符串大小
b=strncmp(S1,S2,7); %比较两个字符串前 7 个字符大小,区分大小写
c=strncmpi(S1,S2,7); %比较两个字符串前 7 个字符大小,不区分大小写
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'); %将字符串转换成双精度浮点数
close all; clear all; clc; %关闭所有图形窗口,清除工作空间所有变量,清空命令行
a=bin2dec('1011001'); %将二进制数转换成十进制数
b=dec2bin(18); %将十进制数转换成二进制数
c=hex2dec('9A2B'); %将十六进制数转换成十进制数
d=dec2hex(97); %将十进制数转换成十六进制数
e=base2dec('212',3); %将任意进制数转换成十进制数
close all; clear all; clc; %关闭所有图形窗口,清除工作空间所有变量,清空命令行
s = 'Find the starting indices of the shorter string.';
a1=findstr(s, 'the'); %在长字符串中查找短字符串
a2=findstr('the', s);
a3=findstr(s,'a');
a4=findstr(s,' ');
a5=strfind(s, 'the'); %在前字符串中查找后字符串
a6=strfind(s, 'a');
a7=strfind('the',s);
close all; clear all; clc; %关闭所有图形窗口,清除工作空间所有变量,清空命令行
s1 = 'This is a good example.';
s2=strrep(s1, 'good', 'great'); %在在符串中查找 good 用 great 替换
s3=strrep(s1,'Good','great');
MATLAB图像处理实例详解
3
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 阶逻辑假矩阵
close all; clear all; clc; %关闭所有图形窗口,清除工作空间所有变量,清空命令行
fhandle=@sin; %建立一个函数句柄
y1=fhandle(2*pi); %用函数句柄调用函数
y2=sin(2*pi); %直接调用函数
close all; clear all; clc; %关闭所有图形窗口,清除工作空间所有变量,清空命令行
f1=@help; %创建函数句柄
s1=func2str(f1); %将函数句柄转换成字符串
f2=str2func('help'); %将字符串转换成函数句柄
a1=isa(f1,'function_handle'); %判断 f1 是否为函数句柄
a2=isequal(f1,f2); %判断 f1 和 f2 是否指向同一函数
a3=functions(f1); %获取 f1 信息
close all; clear all; clc; %关闭所有图形窗口,清除工作空间所有变量,清空命令行
stu(1).name='LiMing'; %直接创建结构体 stu
stu(1).number='20120101';
stu(1).sex='f';
stu(1).age=20;
stu(2).name='WangHong';
stu(2).number='20120102';
stu(2).sex='m';
stu(2).age=19;
student=struct('name',{'LiMing','WangHong'},'number',{'20120101','20120102'},'sex',{'f','m' },'age
',{20,19}); % 应用 struct 函数创建结构体 student
stu;
stu(1);
stu(2);
student;
student(1);
student(2);
close all; clear all; clc; %关闭所有图形窗口,清除工作空间所有变量,清空命令行
stu=struct('name',{'LiMing','WangHong'},'number',{'20120101','20120102'},'sex',{'f','m' },'age',{20
,19});
a=fieldnames(stu); % 获取 stu 所有成员名
b=getfield(stu,{1,2},'name'); %获取指定成员内容
c=isfield(stu,'sex'); %判断 sex 是否为 stu 中成员
stunew=orderfields(stu); %按结构体成员首字母重新排序
- 1
- 2
前往页