matlab的基础使用
我本意并不想搞matlab的,但是代码中涉及一部分使用matlab写的,只能学习一下和这段代码相关的语法啦
input_folder = 'GT';kerneltype = {'g','m','d'};original_ext = {'*.png'};
target_ext = '.png';images = [];for ii = 1:length(original_ext)images = [images; dir(fullfile(input_folder, original_ext{ii}))];
endfor sf = 2:4for kn = 1:3output_folder = ['x',num2str(sf),'_',kerneltype{kn}];if isdir(output_folder) == 0mkdir(output_folder);enddisp([sf,kn]);for ii = 1:numel(images)[~, name, exte] = fileparts(images(ii).name);I = imread(fullfile(input_folder,images(ii).name) ) ;% I = modcrop(I,lcm(16,3));I = imresize(I, 1/sf, 'bicubic'); % 插值的方式currentkernels = dir(fullfile('the_kernels',[kerneltype{kn},'*.mat']));for currentkn = 1:length(currentkernels)[~, kname, kexte] = fileparts(currentkernels(currentkn).name);ckernel = load(fullfile('the_kernels',currentkernels(currentkn).name));kernel = ckernel.kernel;LR = imfilter(im2double(I), kernel, 'circular', 'conv');imwrite(LR, fullfile(output_folder,[name,'_',kname,target_ext]));save(fullfile(output_folder,[name,'_',kname,'.mat']),'kernel')endendend
end
kerneltype = {'g','m','d'};
相当于是定义了一个列表,可以通过kerneltype{1}访问元素值,返回的是g, 注意索引是从1开始的。original_ext = {'*.png'};
disp("-----" + length(original_ext)); % 输出 1 返回的是元素的{} 中元素的个数num2str(2) % 是建整数类型的数转换成字符串类型for循环: 赋值符号的右边是一个可迭代的对象
for sf = 2:4 sf
end
上面的for循环也可以写成:
for sf = [2,3,4]sf
enddisp() 是在命令窗口输出fullfile() % 该函数是用于构成地址字符串的,类似python中的os.path.join函数的用法
f = fullfile(‘dir1’, ‘dir2’, …, ‘filename’) %fullfile构成地址字符串;
如:输入:f = fullfile(‘C:’,’Applications’,’matlab’,’fun.m’)
得到:f =C:\Applications\matlab\fun.mdir()
matlab中使用dir()函数获得指定文件夹下的所有子文件夹和文件,并存放在一种文件结构体数组中。
dir()函数的调用方式有三种,分别为:
1、dir('.') 列出当前目录下所有子文件夹和文件
2、dir('E:\Matlab') 列出指定目录下所有子文件夹和文件
3、dir(E:\Matlab,'*.bmp') 列出指定目录下后缀为.bmp的文件LR = imfilter(im2double(I), kernel, 'circular', 'conv');
功能:对任意类型数组或多维图像进行滤波。
用法:B = imfilter(A,H)B = imfilter(A,H,option1,option2,…)或写作g = imfilter(f, w, filtering_mode, boundary_options, size_options)
其中,f为输入图像,w为滤波掩模,g为滤波后图像。filtering_mode用于指定在滤波过程中是使用“相关”还是“卷积”。
boundary_options用于处理边界充零问题,边界的大小由滤波器的大小确定。fileparts() 是解析文件的完成路径
>> [a,b,c]=fileparts('C:\Documents and Settings\Administrator\桌面\121.jpg')
a =
C:\Documents and Settings\Administrator\桌面
b =
121
c =
.jpgload() 函数的使用
Load 命令命令 功能 load Filename 将名为Filename的MAT文件中的所有变量加载到工作空间中load Filename x y z 将名为Filename的MAT文件中的x、y、z等指定变量加载到工作空间中load Filename -regexp pat1 pat2 将名为Filename的MAT文件中符合表达式要求的变量加载到工作空间中load Filename x y z -ASCII 将名为Filename的8位ASCII文件中的x、y、z等指定变量加载到工作空间中
参考:
https://blog.csdn.net/zhyoulun/article/details/78606382 # for循环
https://blog.csdn.net/rushkid02/article/details/7929189 # disp 命令窗口输出
https://blog.csdn.net/qq_35318838/article/details/78780412
https://blog.csdn.net/loadqian/article/details/80656453 # fullfile的用法
https://blog.csdn.net/nuc_jingzhi/article/details/77447607 # dir() 函数的用法
https://blog.csdn.net/newcloudtech/article/details/12146111
https://blog.csdn.net/qq_18343569/article/details/50960254
https://blog.csdn.net/zhuwei0710/article/details/68169317 # imfilter 滤波
https://blog.csdn.net/u010703122/article/details/49254665 # imfilter 的实例
https://blog.csdn.net/u010159842/article/details/52523520 # im2double使用
https://blog.csdn.net/SMF0504/article/details/70213871 # fileparts 解析文件的路径
https://blog.csdn.net/SMF0504/article/details/51789984
https://blog.csdn.net/skyxmstar/article/details/72626835 # load() 函数的使用
https://blog.csdn.net/lmj1436140682/article/details/52821605
https://blog.csdn.net/xuxinrk/article/details/80212619
https://blog.csdn.net/what_lei/article/details/49000165 # numel()函数的使用
https://blog.csdn.net/learngis/article/details/4342155
https://blog.csdn.net/CV_YOU/article/details/52873666 # matlab中(),[],与{}的区别认识
♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠
matlab的基础使用相关推荐
- matlab语言实验二,实验二 MATLAB语言基础
实验二 MATLAB 语言基础 一.实验目的 基本掌握 MATLAB 向量.矩阵.数组的生成及其基本运算(区分数组运算和矩阵运算).常用的数学函数.了解字符串的操作. 二.实验内容 (1) 向量的生成 ...
- P2 Matlab计算基础-《Matlab/Simulink与控制系统仿真》程序指令总结
上一篇 回到目录 下一篇 <Matlab/Simulink与控制系统仿真>程序指令总结 Matlab_Simulink_BookExample 2. Matlab 计算基础 表2.1 Ma ...
- Matlab绘图基础——利用axes(坐标系图形对象)绘制重叠图像 及 一图多轴(一幅图绘制多个坐标轴)
Matlab绘图基础--利用axes(坐标系图形对象)绘制重叠图像 及 一图多轴(一幅图绘制多个坐标轴) - 司徒鲜生 - 博客园 Matlab中axes函数解析_ljh0302的博客-CSDN博客_ ...
- Matlab编写一个脚本计算e,Matlab编程基础I脚本.PPT
Matlab编程基础I脚本 数学软件 Matlab 本讲主要内容 Matlab 编程 M 文件 M 文件 编程示例 编程示例 本讲主要内容 关系运算 关系运算举例 逻辑运算 逻辑运算 逻辑运算 一些测 ...
- 实验1 数字图像处理的MATLAB基础,《数字图像处理(实验部分)》实验1_数字图像处理中MATLAB使用基础...
<数字图像处理(实验部分)>教案 实验一:数字图像处理中MATLAB使用基础实验 一. MATLAB软件安装 二. 进入MATLAB运行环境 三. MATLAB编程基础 3.1.变量 预定 ...
- matlab最基础教程(四):常用的系统自带函数,符号变量与字符串篇
matlab最基础教程(四):常用的系统自带函数,符号变量与字符串篇 前言:matlab字面意思是矩阵实验室,软件重点是数值变量的运算.所以在符号变量和字符串的运算上,功能并不强大,我用的也不是很多, ...
- matlab工程应用基础,Matlab工程应用基础_2_214090
<Matlab工程应用基础_2_214090>由会员分享,可在线阅读,更多相关<Matlab工程应用基础_2_214090(21页珍藏版)>请在人人文库网上搜索. 1.课件下载 ...
- matlab最基础教程(六):编程习惯
matlab最基础教程(六):编程习惯 前言:matlab的基本使用方法差不多介绍完了,确定问题类型(数值/符号),编程(函数/脚本)并运行即可.但具体编程过程中,良好的习惯非常重要,一方面便于调试, ...
- matlab最基础教程(二):变量类型与赋值
matlab最基础教程(二):变量类型与赋值 前言:matlab解决问题的最基本思路是建立脚本文件,那么脚本文件的第一段就是定义一些变量,这和C语言等编程思想是一样的.matlab提供的变量类型很多, ...
- MathWorks官方MATLAB/Simulink基础入门视频教程 笔记(Simulink基础)
MATLAB官方教程笔记第二篇了,上一篇主要讲的是MATLAB基础:MathWorks官方MATLAB/Simulink基础入门视频教程 笔记(matlab基础) 这一篇主要是讲simulink基础了 ...
最新文章
- jquery.raty评星插件
- Nvidia真的收购Arm了吗?
- springmvc十三:REST风格增删改查
- Git 搭建私有仓库
- N的倍数(抽屉原理)
- 体验VSTS源代码管理之一
- 用 Anaconda 完美解决 Python2 和 python3 共存问题
- Python数据结构与算法(2.4)——双向链表
- 嵌入式系——软件管理工程
- scratch 3 下载和安装
- Mujoco 基本教程
- 尝试 Nitrux 系统的六大理由
- 由两个重要极限推导常见等价无穷小以及常见导数公式
- 战狼2影评-20170807
- 元禾谷风创投:如何避开Magic Leap这种深度科技投资的大坑
- 使用花生壳配置内网穿透
- 如何查看自己电脑开启了哪些端口号
- SpringBoot物流管理项目,拿去学习吧(源码)
- stack_push、pop
- RHCE 第十一天 mail postfix dovecot SSL
热门文章
- Zabbix监控详解
- 如何直接在github上预览html网页效果
- CLR via C#(17)--接口
- 4 angular 重构 项目_vuejs angularjs 框架的一些比较(vue项目重构四)
- python输入数字翻译成星期几-Python练习笔记——计算输入日期为改年的第几天、星期几...
- 用python绘制柱状图标题-Python数据可视化:5种绘制柱状图表的方法(附源码)...
- python语言程序设计嵩天-python语言程序设计基础(嵩天版),第二章程序练习题...
- python语法基础学习-Python基础语法精心总结!看完都知道的可以往下继续学习了...
- python怎么打开交互式窗口-使用pycharm进行交互式shell调试
- python画图代码turtle-介绍下Python里自带的一个有趣画图模块库:Turtle库