1
我試圖從長度爲259,920的矢量轉換爲361×720(與matlab中的vect2mat相同的概念)。代碼是工作,但是當我嘗試它時在HTC手機上,需要一秒鐘的反應。所以,我可以改變或使用什麼來以更少的時間獲得好的結果。下面的代碼我使用。如何減少轉換矢量到墊的時間複雜度
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,數組);返回tmp.reshape(1,a);'。請讓我知道,因爲我無法測試Java代碼。如果它有效,我會寫作答案 – Miki