1
サイズ259,920の長いベクトルから361 X 720のマットに変換しようとしました(matlabのvect2matと同じ概念です)。コードは動作しますが、試したときHTC電話機では、応答に1秒かかります。だから、時間をかけずに良い結果を得るために何を変えることができますか。私が使用する次のコード。変換ベクトルの時間の複雑さを減らす方法
public static Mat vect2mat(double[] array, int a) {
Mat matrix = new Mat(a,(array.length+a-1)/a, CvType.CV_8UC1);
int count = 0;
for(int i=0; i<(array.length+a-1)/a; i++){
for(int j=0; j<a; j++){
matrix.put(j,i,array[count]);
count++;
}
}
return matrix;
}
:
は、このサンプルコードを試してみてください 'マットTMP =新しいマット(1、Array.lengthと、CvType.CV_8UC1)。 tmp.put(0,0、array); return tmp.reshape(1、a); '。 Javaコードをテストすることはできませんので、教えてください。私はそれが動作すれば回答として書く – Miki