[問題] 一維陣列,元素個數放大?

作者: hsucheng (Marshall)   2016-12-17 14:48:49
開發平台(Platform): (Ex: Win10, Linux, ...)
Win 7
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
Visual Studio 2015 C++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
opencv
問題(Question):
假設有兩個陣列
int a[2000]; 元素個數=1234
int b[2000]; 元素個數=1789
想把他們全部放大到有2000個元素,之後兩個陣列內容要比大小
Diff = Diff + abs(a[cnt] - b[cnt]);
陣列數目不同無法比,所以想讓他們正規化
請問有沒有簡單容易實做的方法?
目前只能想到用內插補資料,但整體放大的方法要如何做呢?
作者: stupid0319 (徵女友)   2016-12-17 15:37:00
tiida
作者: ilikekotomi (Young)   2016-12-17 15:59:00
最簡單應該是一開始大小就用500
作者: chuegou (chuegou)   2016-12-17 16:08:00
只能放大嗎 不能縮小? 縮小不用補資料
作者: stupid0319 (徵女友)   2016-12-17 16:37:00
用link吧,伸縮自如跟海綿寶寶一樣
作者: sorryla (Mr.東)   2016-12-17 16:48:00
看起來不是陣列的問題 比較像是演算法的問題
作者: EdisonX (卡卡獸)   2016-12-17 19:58:00
演算法問題 +1
作者: LPH66 (-6.2598534e+18f)   2016-12-17 21:32:00
所以這是演算法問題無誤, 你要的不是補資料是拉伸資料那你就要考慮你的資料必須要怎麼延伸才會有意義一個類似的例子 (但「非常可能和你要的不同」) 是圖片縮放然後另外一個考慮的點: 你的演算法是否要求等長資料?如果「等長」這個點不是重點的話你應該是改演算法去適用注意我指的不是演算法的細節而是這演算法到底在算什麼東西
作者: EdisonX (卡卡獸)   2016-12-18 01:41:00
那你有最原始 2000 個點的資料嗎?如果沒有的話我想直接先轉到 max(asize,bsize) 維度即可?若轉到 2000 個點,用最笨的最近補點法的概念下去做應可行
作者: LPH66 (-6.2598534e+18f)   2016-12-18 02:29:00
可不可行其實要看原 PO 之後要做什麼操作所以才會問他說之後的操作演算法有沒有要求等長資料依操作不同有些資料不能貿然做內插/最近補點/etc
作者: EdisonX (卡卡獸)   2016-12-18 02:31:00
他有要等長啊!上面有個公式有講了Diff = Diff + abs(a[cnt] - b[cnt]); 這個前提應就是要等長吧 ?? 還是我誤會了 ??不過照整個述敘看起來,原 po 想要的,應該是去計算,兩個波型數值的相似度,最後那明顯是種 MSE若猜對的話,就用內插法吧。src : http://codepad.org/lLTUU4Akresult : http://imgur.com/a/oCgUW再補一下好了,我想原 po 要做的是幾個手勢做判斷,而特徵點的取得個數不同,所以想先展開,但展開要件是波形要和原本長得像,再去做 MSE 計算。而我 code 裡的內插法主要是補點加權,假設 mapping 到的是 dst[0]=src[6.7]則 src[0] = dst[6]*0.3 + dst[7]*0.7若猜錯的話... 額 .. 就略過我的發言吧 Orz疑!我看懂 LPH66 敘述了,那請問,若不展開變等長的話,有什麼方法可以判斷兩個,取樣點數不同之波型是否相似呢?
作者: LPH66 (-6.2598534e+18f)   2016-12-18 03:37:00
嘛, 我只是單純因為不知道他要做什麼運算才會提醒注意的你這個問題似乎是屬於訊號分析的範圍, 那個我沒什麼在接觸但也因為他這個問題似乎真的有摸到這個邊所以才會想到經過內插/補點/etc之後的訊號失真問題
作者: EdisonX (卡卡獸)   2016-12-18 14:04:00
剛查了一下,波型相似的算法的確不少,像fft,match pattern等,方向確實很廣。
作者: noodleT (麵T)   2016-12-18 17:43:00
把資料分別做擬合曲線後,比較兩個曲線是否一樣
作者: hichcock (快樂一整年 ^^~~~)   2016-12-19 08:46:00
樓上正解~
作者: doom8199 (~口卡口卡 修~)   2016-12-20 13:17:00
以原po需求可以用 Dynamic Time Warping
作者: longlongint (華哥爾)   2016-12-23 22:25:00
抓出features

Links booklink

Contact Us: admin [ a t ] ucptt.com