2016-03-21 17 views
1

私はいくつかのcppコードをアンドロイドに翻訳しています。 cppには、opencv行列間で演算子を実行するためのオーバーロードメソッドがあります。それはアンドロイドでは機能しませんでした。Android OpenCV - 数学演算子を行列に適用する

CPPコード:

int thresh = 30, N = 11; 
Mat gray0(image.size(), CV_8U), gray; 

for (int l = 0; l < N; l++) { 

     if (l == 0) 
     { 
      // apply Canny. Take the upper threshold from slider 
      // and set the lower to 0 (which forces edges merging) 
      Canny(gray0, gray, 0, thresh, 5); 
      // dilate canny output to remove potential 
      // holes between edge segments 
      dilate(gray, gray, Mat(), Point(-1, -1)); 
     } 
     else 
     { 
      // apply threshold if l!=0: 
      gray = gray0 >= (l + 1) * 255/N; 
     } 
} 

私はelseセクションにこだわっています。

このコードをAndroidに書き込む必要があります。 ご協力いただければ幸いです。

+0

'CV ::閾値(gray0、グレー、(L + 1)* 255/N、255、THRESH_BINARY)は、'同じ結果を与えます。 [参考](https://github.com/Itseez/opencv/blob/master/samples/tapi/squares.cpp#L69) – sturkmen

答えて

1

opencvライブラリで見つかった。演算子はCore.compareにあります。

回答:Core.compare(gray0, new Scalar((l+1) * 255/N), gray, Core.CMP_GE);

関連する問題