在试图写一个整理文件中图像的程序中,参考大牛的代码时发现的问题。
setting.Path.Home='../';
% add the library for kdtree
setting.Path.kdtree =
fullfile(setting.Path.Home,'Matlab','kdtree');
setting.Path.library =
fullfile(setting.Path.Home,'Matlab','library');
addpath(setting.Path.kdtree);
addpath(setting.Path.library);
这么一段看不懂,首先,fullfile不懂,其次,addpath的作用不明,感觉很多余。
当返回了一个文件的时候,可以用fullfile将路径和文件名组合起来
fullfile的用法如下
f = fullfile('C:', 'Applications', 'matlab', 'myfun.m')
f = C:\Applications\matlab\myfun.m
下面addpath(setting.Path.kdtree);作用是把路径添加到……什么地方?再查。加到默认路径下,这里新建一个kdtree的路径同时加到setting.Path.kdtree下面,就是新建然后就赋值。
下面写一个理顺图像序号的程序。
给出:文件夹路径
输出:理顺的序号
clc
clear all
% setting.Path.Home='../';
% % add the library for image
% setting.Path.OriginalImages =
fullfile(setting.Path.Home,'OriginalImages');
% addpath(setting.Path.OriginalImages);
% setting.Path.OutputImages =
fullfile(setting.Path.Home,'OutputImages');
% addpath(setting.Path.OutputImages);
% filelist = readImages(setting.Path.OriginalImages);
filename=dir('.\OriginalImages\*.bmp');
for i=1:length(filename)
I=imread(filename(i).name);
str = strcat('.\OutputImages\',num2str(i),'.bmp');
imwrite(I,str,'bmp');
% figure,imshow(I);
end
%
% for k=1:length(filelist)
%
% filename =
fullfile(setting.Path.OriginalImages,filelist(k).name(1:end-4));
% im =
imread(fullfile(setting.Path.OriginalImages,filelist(k).name()));
% TestImage = strcat('.\M00模糊脸\',num2str(k),'.bmp');
% imwrite(uint8(tvector),TestImage,'bmp'); % end
%
tips:
1. matlab中的exist是什么意思:
检查变量或函数是否被定义 返回0是没有定义 返回1是存在定义在workspace里面
2.dir :显示目录文件列表
3,通配符。“*”
本准备用大牛的办法,没想到比较难,这个简单的问题一句话就解决。囧,代码如上
4,formats变量
另:写这篇总结的时候来了个小师妹。突然感觉到,最讨厌专业人员在不懂得人面前拽词了。