并行批處理多個文件 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.pswp.cn/news/247187.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/247187.shtml
英文地址,請注明出處:http://en.pswp.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;如果…