2017-03-26 4 views
1

OpenCV(Android)を使用して画像処理操作を実行しようとしています。AndroidのOpenCVでアル​​ゴリズムを最適化する方法は?

イメージAとイメージBは同じサイズで、結果イメージはA & Bの各列を交互に取っています。結果イメージはA & Bと同じサイズです。以下は

enter image description here

それは動作しますが、私のコードです。

  double[] dTempPixel; 
      for(int iRow = 0 ; iRow < imgMat1.height() ; iRow++ ){ 
       for(int iCol = 0 ; iCol < imgMat1.width() ; iCol++){ 

        if(iCol%2 != 0){ 
         dTempPixel = imgMat2.get(iRow, iCol); 
        }else{ 
         dTempPixel = imgMat1.get(iRow, iCol); 
        } 
        imgMat1.put(iRow, iCol,dTempPixel); 
       } 
      } 

しかし、問題は、画像サイズが大きすぎると速度が遅すぎることです。この操作を行う速度を向上させる方法をご存知ですか?

+0

[PS:1秒以内に操作ができたらいいと思います。私はマスク操作を適用することで考えているが、私はOpenCVに慣れていない] –

答えて

0

0と1の交互の列のマスク画像を作成してみましょう。Mと呼ぶことにしましょう。画像AにMを、Bに1-Mを掛けて加算します。

+0

こんにちは、あなたのアドバイスありがとう、私はサンプルコードを表示する気になりますか? –

-1

私はAndroidでこれをやったことはありませんが、データの一部を実行する複数のスレッドを実行できます。

行を持つスレッドを実行した後、各スレッドが同時にforループを実行するとします。結果は速く、次にアルゴリズムのシリアルを実行する必要があります。

私はthisthisが望ましい結果を得るのに役立つと信じています。

関連する問題