并行批处理多个文件 matlab

 

%初始化matlab并行运行环境
% Initialize Matlab Parallel Computing Environment

 

CoreNum=2; %设定机器CPU核心数量,我的机器是双核,所以CoreNum=2


if matlabpool('size')<=0 %判断并行计算环境是否已然启动
matlabpool('open','local',CoreNum); %若尚未启动,则启动并行环境
else
disp('Already initialized'); %说明并行环境已经启动。
end

 

% 运行成功后会出现如下语句:
% Starting matlabpool using the 'local' configuration ... connected to 2 labs.
% 如果运行出错,按照下面的办法检测:
% 首先运行:
% matlabpool size
% 如果出错,说明你没有安装Matlab并行工具箱。确认安装了此工具箱后,运行:
% matlabpool open local 2;
% 如果出错,证明你的机器在开启并行计算时设置有问题。请联系MathWorks的售后服务。

 

% 终止Matlab并行计算环境
% 用上述语句启动Matlab并行计算环境的话,在你的内存里面有CoreNum个Matlab进程存在,
% 每个占用内存都在百兆以上。(可以用Windows任务管理器查看),故完成运行计算
% 后可以将其关闭。关闭的命令很简单:
matlabpool close

 

下面给出一个具体的示例

clear all;
close all;
clc;


%列出文件清单,文件名具有相同的前缀
p = which('JPCLN001.bmp');   %Locate functions and files
filelist = dir([fileparts(p) filesep 'JPCLN*.bmp']);
fileNames = {filelist.name}';

 

%查看其中一张图像
I = imread(fileNames{1});
I = imresize(I,0.25);
imshow(I);
text(size(I,2),size(I,1)+15, ...
    'Image files courtesy of Alan Partin', ...
    'FontSize',7,'HorizontalAlignment','right');
text(size(I,2),size(I,1)+25, ...
    'Johns Hopkins University', ...
    'FontSize',7,'HorizontalAlignment','right');

 

% 指定应用于每张图像的图像处理算法

%生成一个图像处理函数,该函数分割显微镜图像中没有挨着的细胞

segmentedCells = batchDetectCells(I);
figure,imshow(segmentedCells)

该部分换成相应的算法即可

 

% 循环处理多个图像
% 函数 batchProcessFiles 使用 parfor 来单独处理每个图像。该工作类型for循环,
% 但是如果你装有并行计算工具箱,就可以充分利用多个处理器

% 如果你装有并行计算工具箱,你可以使用多至4个工作机来分配每个循环周期到不同的
% 工作机。如果你还装有MATLAB分布式计算服务器,你还可以使用一群工作机运行你的
% 批处理任务

 

%定位工作机
matlabpool open 4

 

%调用 batchProcessFiles函数对每个文件实施探测计算
segmentedCellSequence = batchProcessFiles(fileNames,@batchDetectCells);

 

%清理
%如果你调用 matlabpool 开启一些工作机,记得要将其关闭
matlabpool close

 

%显示结果
%运行下面的命令在implay中查看图像序列
implay(segmentedCellSequence)

 

 

部分内容参考 http://blog.sina.com.cn/s/blog_49ea41a20101fodd.html

                     http://blog.sina.com.cn/s/blog_49ea41a20101fodc.html

 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 

matlab对文件目录路径的操作

 

1、        filesep 功能说明 当前平台下文件分隔符

参数解析

f = filesep 

返回当前平台的文件分隔符,该文件分隔符可分隔各级目录名和文件名。
用于返回当前平台的目录分隔符,Windows是反斜杠(\),Linux是斜杠(/)。

iofun_dir = ['toolbox' filesep 'matlab' filesep 'iofun']    

Windows平台下返回:    iofun_dir =   toolbox\matlab\iofun

Unix平台下返回:    iofun_dir =   toolbox/matlab/iofun


2、        fullfile
用于将若干字符串连接成一个完整的路径。例如:
>> f=fullfile('D:','Matlab','example.txt')
f=D:\Matlab\example.txt
(在Windows中,“D:\”表示D盘,“D:”表示目录)
3、        fileparts  功能分离出路径和文件名

函数语法

[pathstr, name, ext] = fileparts(filename)

参数解析

[pathstr, name, ext] = fileparts(filename) 

返回指定文件的路径名pathstr,文件名name,扩展名ext。文件filename不一定要存在。filename用单引号括起来。扩展名ext中包含'.'这个字符。
用于将一个完整的文件名分割成4部分:路径,文件名,扩展名,版本号。例如:
>> f=fullfile('D:','Matlab','example.txt');
>> [pathstr,name,ext,versn]=fileparts(f)
pathstr=D:\Matlab
name=example
ext=.txt
versn=’’
4、        pathsep
返回当前平台的路径分隔符。Windows是分号(;),Linux是冒号(:)。
5、        exist
可以用于判断目录或者文件是否存在,同时不同的返回值有不同的含义。例如:
>> f=fullfile('D:','Matlab','example.txt');
>> exist(f)
ans=2
>> exist('D:\Matlab')
ans =7
6、        which
可以通过一个函数或脚本名称得到它的完整路径,同时还能处理函数重载的情况,例如:
>> which abs(0)
C:\MATLAB7\toolbox\matlab\elfun\@double\abs.bi  % double method
>> which abs(single(0))
C:\MATLAB7\toolbox\matlab\elfun\@single\abs.bi  % single method
7、        isdir
判断一个路径是否代表了一个目录,例如:
>> p='D:\Matlab';
>> f=fullfile(p,'example.txt');
>> isp=isdir(p)
isp=1
>> isf=isdir(f)
isf=0
8、        dir
用于列出一个目录的内容,返回值为结构体数组类型,包含如下部分:name:文件或目录的名称;date:修改日期;bytes:文件大小;isdir:是否是目录。例如:
>> p='D:\Matlab';
>> files=dir(p)
files = 
8x1 struct array with fields:
   name
   date
   bytes
   isdir
9、        cd
用于切换当前工作目录。例如:
>>cd('c:/toolbox/matlab/demos')        %切换当前工作目录到demos
>> cd ..        %切换当前工作目录到matlab
10、        pwd
用于当前工作目录的路径。例如:
>> pwd
ans =C:\MATLAB7\work
11、        path
用于对搜索路径的操作。例如:
<<path        %查询当前所有的搜索路径(MATLABPATH)
<<p=path                %把当前的搜索路径存在字符串变量p中
<<path(‘newpath’)                %将当前搜索路径设置为newpath
<< path(path,’newpath’)        %向路径添加一个新目录newpath
<< path(’newpath’, path)        %向当前搜索路径预加一个新目录nespath
12、        addpath和rmpath
用于对matlab搜索路径的添加和删除。例如:
<<addpath(‘directory’)        %将完整路径directory加入到当前搜索路径的最顶端
<<rmpath
13、        what
用于显示出某目录下存在哪些matlab文件;若输入完整路径,可列出指定目录下的文件。例如:
<<what
<< what dirname
<< what(‘dirname’)
其中dirname是要查找的路径的名字,路径在matlab的搜索路径内时,没有必要输入全名,只输入最后或最后两级就够了。
14、        path2rc
保存当前matlab的搜索路径到pathdef.m文件中。

本文章来自:http://blog.sina.com.cn/s/blog_49ea41a20101fobo.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/247187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

答应我不要问TCP三次握手四次挥手

衍生头疼问题如下。 请画出三次握手和四次挥手的示意图为什么连接的时候是三次握手&#xff1f;什么是半连接队列&#xff1f;ISN(Initial Sequence Number)是固定的吗&#xff1f;三次握手过程中可以携带数据吗&#xff1f;如果第三次握手丢失了&#xff0c;客户端服务端会如…

专业术语常用名词缩写中英文对照

A:Actuator 执行器A:Amplifier 放大器A:Attendance员工考勤A:Attenuation衰减AA:Antenna amplifier 开线放大器AA:Architectural Acoustics建筑声学AC:Analogue Controller 模拟控制器ACD:Automatic Call Distribution 自动分配话务ACS:Access Control System出入控制系统AD:Ad…

推荐!国外程序员整理的机器学习资源大全

本列表选编了一些机器学习领域牛B的框架、库以及软件&#xff08;按编程语言排序&#xff09;。 C 计算机视觉 CCV —基于C语言/提供缓存/核心的机器视觉库&#xff0c;新颖的机器视觉库OpenCV—它提供C, C, Python, Java 以及 MATLAB接口&#xff0c;并支持Windows, Linux,…

做任务一定要看测试用例

做任务的时候一定要一开始就看测试用例。虽然有的任务自己很熟&#xff0c;但是如果不时时关注测试用例的话&#xff0c;还是容易走偏&#xff0c;到后头再去修改的话&#xff0c;会浪费不少时间。 转载于:https://www.cnblogs.com/superhuake/archive/2011/09/09/2172008.html…

深度学习鼻祖杰夫·辛顿及巨头们的人才抢夺战

摘要&#xff1a;深度学习已经诞生了数十年时间&#xff0c;但直到近几年才受到各大科技公司的重视&#xff0c;被认为是硅谷科技企业的未来&#xff0c;今天为大家介绍的是深度学习的开山鼻祖Geoffrey Hinton。在过去的三十年&#xff0c;深度学习运动一度被认为是学术界的一个…

EM算法(Expectation Maximization Algorithm)

文章目录 1. 前言 2.基础数学知识2.1.凸函数2.2.Jensen不等式 3.EM算法所解决问题的例子 4.EM算法4.1.模型说明 4.2.EM算法推导 4.3.EM算法收敛性证明 4.4. EM算法E步说明 5.小结 6.主要参考文献1. 前言 这是本人写的第一篇博客(2013年4月5日发在cnblogs上,现在迁移过来)&#…

Julia语言:让高性能科学计算人人可用

摘要&#xff1a;一群科学家对现有计算工具感到不满&#xff1a;他们想要一套开源系统&#xff0c;有C的快速&#xff0c;Ruby的动态&#xff0c;Python的通用&#xff0c;R般在统计分析上得心应手&#xff0c;Perl的处理字符串处理&#xff0c;Matlab的线性代数运算能力……易…

View Animation

转载一篇关于view animation的文章 http://blog.csdn.net/nerohoop/article/details/7245909 补充&#xff1a;当启用animation来改变值的时候&#xff0c;值是立刻就改变了的&#xff0c;然后才开始动画。 转载于:https://www.cnblogs.com/mystory/archive/2012/12/18/2824029…

编程能力的四种境界

人类心理学研究中的一个基础支撑科目就是分析人的潜意识和意识。 弗洛伊德是最早的一位能够清楚的认定和描述我们的心理活动“领域”的人。 在他这著名的一生的早期&#xff0c;他就指出我们的意识里分“潜意识”&#xff0c;“前意识”&#xff0c;“意识”。 如 果我们想能清…

ファイルアップロード関連のjQueryプラグイン10攻略

ファイルアップロード関連のjQueryプラグイン&#xff11;&#xff10;ファイルアップロードといってもSWFを使ったりAJAXを使ったりと方法が色々あって、いろんなやり方ができるjQueryプラグインです。望みの挙動に近いものを選んでカスタマイズすれば作りたいものが最速で作れ…

HTTP报文(转)

HTTP报文http://www.cnblogs.com/kissdodog/archive/2013/04/01/2993228.html之前写过一篇HTML报文&#xff0c;但是感觉写完之后还是不懂&#xff0c;最近终于有时间开始看《HTTP权威指南》&#xff0c;看完之后觉得还是比之前的理解更加深入了&#xff0c;提取HTTP报文出来做…

C#基础-应用程序域

文章导读同一台计算上的应用程序是通过进程来隔离的&#xff0c;每个应用程序都是加载到不同的进程中&#xff0c;从而达到应用程序的互不影响。操作系统【OS】通过进程控制块【PCB】感知进程的存在&#xff0c;分析【PCB】的数据结构可以发现&#xff0c;【PCB】维护进程运行的…

Java生鲜电商平台-微服务入门与服务的拆分架构实战

Java生鲜电商平台-微服务入门与服务的拆分架构实战 刚开始进入软件行业时还是单体应用的时代&#xff0c;前后端分离的概念都还没普及&#xff0c;开发的时候需要花大量的时间在“强大”的JSP上面&#xff0c;那时候SOA已经算是新技术了。现在&#xff0c;微服务已经大行其道&a…

详解MTK系统中字符转换问题

详解MTK系统中字符转换问题 2011-09-05 19:02 佚名 互联网 字号&#xff1a;T | TMTK系统中字符转换问题是本文要介绍的内容&#xff0c;主要是来了解并学习MTK中一些小案例的应用&#xff0c;具体内容来看本文详解。 AD&#xff1a;2014WOT全球软件技术峰会北京站 课程视频发布…

Java生鲜电商平台-微服务架构概述

Java生鲜电商平台-微服务架构概述 单体架构存在的问题 在传统的软件技术架构系统中&#xff0c;基本上将业务功能集中在单一应用内&#xff0c;或者是单一进程中。尽管现代化的软件架构理论以及设计原则已推广多年&#xff0c;但实际技术衍化的速度迟缓并且变革动力不足。 其中…

Jensen不等式及其证明

• 詹森不等式以丹麦数学家约翰詹森&#xff08;JohanJensen&#xff09;命名。它给出积分的凸函数值和凸函数的积分值间的关系。 关于凸函数&#xff1a; if &#xff08;-f&#xff09;是凸函数&#xff08;convex&#xff09;&#xff0c;则f是凹的&#xff08;concave…

ios自带NSURLConnection下载文件

//同步下载,同步请求的主要代码如下 - (IBAction)downLoad:(id)sender { NSString *urlAsString"http://7jpnsh.com1.z0.glb.clouddn.com/TravelDemo.plist";//文件地址 NSURL *url[NSURL URLWithString:urlAsString]; NSURLRequest *request[NSURLRequest requestWi…

国外程序员整理的机器学习资源大全

本列表选编了一些机器学习领域牛B的框架、库以及软件&#xff08;按编程语言排序&#xff09;。 C 计算机视觉 CCV —基于C语言/提供缓存/核心的机器视觉库&#xff0c;新颖的机器视觉库 OpenCV—它提供C, C, Python, Java 以及 MATLAB接口&#xff0c;并支持Windo…

五款帮助创业者迅速熟悉互联网创业的在线学习工具

相信很多有志青年都想借助互联网开拓自己的事业&#xff0c;可是经常面临一个很现实的问题——缺乏一定的专业知识和技能。没关系&#xff0c;互联网中的丰富教育资源就可以让你迅速地跨越这一障碍&#xff0c;熟悉与创业相关的运营、管理、融资等操作技巧。下面介绍的五个在线…

C++ 中复杂的声明

1、方法也是有类型的&#xff0c;方法的类型由返回类型和形参表决定。比如int F (int)的类型就是去掉方法名&#xff0c;int (int)。 2、对于方法类型&#xff0c;在返回类型和形参表之间&#xff0c;加上一个名称F&#xff0c;就表示一个特定的方法F。 3、思考&#xff0c;如果…