için nasıl azaltılır Boyutu 259,920 ile uzun vektörden 361 X 720 mat (matlab vect2mat ile aynı kavram) dönüştürmek için çalıştı. Kod çalışır, ancak denediğimde HTC telefonda, yanıt vermek için bir saniye sürer. Yani, daha az zaman ile iyi bir sonuç elde etmek için ne değiştirebilirim veya kullanabilirim. Kullandığım aşağıdaki kod.Vektör dönüştürmek için zaman karmaşıklığı mat
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;
}
Muhtemelen diziden matrisi oluşturabilir ve:
Bu örnek kod deneyin tmp.put (0,0, dizi); tmp.reshape (1, a); Java kodunu test edemediğim için lütfen bana bildirin. Çalışırsa cevap olarak yazacağım – Miki