2014-01-22 23 views
1

我在R中创建了一个需要大量时间执行的函数。如果可能的话,请建议一些替代方法来执行此操作。使图像像素更易于在R访问

totest<-function(img) 
{ 

for(k in 1:130) 
    for(i in 1:130) 
     for(j in 1:130) 
      if(img[i,j,k]<0) 
       img[i,j,k]<-(-a[i,j,k]) 
} 

我传递的图像与尺寸为130×130的功能totest被检查-ve值的每个像素,如果该值是-ve然后将其转换成雾化+ ve。

回答

2

可以识别所有的指标来代替,然后在一次操作将其复制过来:

indices <- img < 0 
img[indices] <- -a[indices]