Proceacmiento使用matlab分发图像

时间:2016-02-17 02:15:05

标签: matlab image-processing spmd

我正在集群中进行图像处理,但未达到最佳性能,我有一个复制边缘的函数和另一个应用过滤器或掩码的函数,但是当执行MATLAB SPMD时使用该程序不是随着时间的增加,在增加工人的同时满足每一个。

enter code here
      p1=parpool('local',4);
      addAttachedFiles(p1,{'Max_Duplicado_pixel.m',
      'funcion_Aplicacion_mascaras.m'});
      tic
      spmd
      d1=codistributor1d(2);
      c = codistributed(imA, d1);  
      som=funcion_Aplicacion_mascaras(
      Max_Duplicado_pixel(getLocalPart(c),sombrero),sombrero);     
      salida=gcat(som);
       end
      imshow(salida{1});
       end
       delete(gcp);   

enter code here

这是应用睫毛膏的功能

enter code here
     x=ceil(R1/2):R-floor(R1/2); 
     y=ceil(R1/2):C-floor(R1/2); 
     for b=-floor(R1/2):floor(R1/2)
         for a=-floor(R1/2):floor(R1/2)
             salida(x,y)=salida(x,y)+single(imagen(x+b,y+a))
            *sombrero(b+ceil(R1/2),a+ceil(R1/2));        
         end

     end
     temp=salida(ceil(R1/2):R-floor(R1/2),ceil(R1/2):C-floor(R1/2));
     image_procesada=uint8(temp);

1 个答案:

答案 0 :(得分:0)

根据我的理解,您只是做selSQL += String.Format(@" WHERE [{0}] {1} ""{2}""", sFieldArr[i, 0], op, sFieldArr[i, 1]); 之类的事情,而没有使用spmd,x=somefunction(),end。这不会加速您的计算,每个工作人员将完成相同的工作,评估labindex。对于5名工人,该功能将被评估5次。看一下x=somefunction(),这通常是编写并行代码最简单的概念。