Matlab Parfor并行,图像处理

利用parfor进行并行计算,处理大量简单的计算(图片处理)

 

我的程序中需要计算图片的特征。

数据库中共有1W张真实图片,每张图片都有其独有的图片Feature,相互之间的计算不存在依赖关系,而且计算较为简单。

但是数据量过大,所以适合用parfor进行并行处理。

使用parfor所需要慎重的几个条件:

1.程序中循环的每次迭代独立,不相互依赖;

2.parfor循环不能嵌套。解释:(两个for循环进行嵌套,是一个双层循环,但是这个双层循环要是用parfor,就不行了。parfor只能用在这个两层循环的任意一层,但是不能两层都写parfor。)

3.不能在parfor里面使用save函数,因为matlab不知道要把工作区中的哪个变量保存在内存中。

4.parfor循环的下标必须是连续的递增整数。

简单的parfor小例子:

 % 指定你要开启的线程数量,开启进程池
 core = 5;
 p = parpool(core);

 % 一个用来记录数据的数组
 data = zeros(1,5);

 % 并行循环
 parfor i = 1:50
  % 调用你自己编写的某个函数并返回了某个结果a
  a = i+1;
  data(i) = a;
 end
 % 关闭进程池
 delete(p)

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值