2012-04-25 6 views
2

ベイヤーのデモザイク処理を実装しましたが、これまでのところ動作しますが、かなり遅いです。私はmatlabの初心者であり、for-loopsは通常、やり方が悪いことをすでに考えている。Matlab:ベイヤーパターンデモザイキングのためのループを回避する

これは私の擬似コードのアルゴリズムですが、誰かが私にそれをもう少しmatlabizeするヒントを与えることができますか?

pic = zero(width, height, 3) 
for i=1:Width 
    for j=1:Height 
     if isbluevalue(i, j) 
      pic(i,j) = getOtherTwoValues(...) 
     if isredvalue(i,j) 
      //do accordingly 
     if isgreenvalue(i,j) 
      //do accordingly 
end 
end 

for-loopsを削除する方法はありますか?

答えて

1

Matlabの論理インデックスで、あなたが望むことができるかもしれません。たとえば、PICの要素ではなく、数字ijisbluevalue()作品あなたの関数場合にのみ動作することを

pic(isbluevalue(pic)) = getOtherTwoValues(...) 

ノートを書くかもしれません。

これで問題が解決しない場合は、もう少し詳しく説明してください。

3

Matlabには、バイエルのデモザイク処理を行う組み込み関数があります。

RGB = demosaic(I, sensorAlignment); 
関連する問題