我正在處理HTML5動作跟蹤,目前我正在使用繪圖上下文的方法drawImage捕獲當前幀並在其上添加「跟蹤器」對象。HTML5運動跟蹤使用<canvas>
你可以看到示例代碼瀏覽:
ctx.drawImage(video, 0, 0);
var cat = new Image();
cat.src = 'cat.png';
cat.onload = function() {
ctx.drawImage(cat, 150, 190);
}
但我的解決方案應該支持Safari瀏覽器的iOS瀏覽器爲好,但這是從瀏覽器的文檔:
注:視頻作爲源畫布drawImage()方法不是當前在iOS上支持的 。
因此,他們提出以下解決方案:
使用錄像作爲的drawImage源()涉及大量的系統資源 的。一般來說,視頻最好使用視頻 元素顯示,而不是畫布元素。要合成畫布文本或移動視頻上的動畫,最好在畫布後使用視頻元素 -視頻通過畫布的透明背景 顯示,無需在畫布 本身上顯示視頻的開銷。
遵循對象的座標來自JSON文件(我對每一幀信息),這裏是JSON內容爲一個框架:
"frames": {
"0": [{
"i": 0,
"x": 686.356,
"y": 192.797
},
{
"i": 2,
"x": 1036.4,
"y": 194.135
},
{
"i": 3,
"x": 566,
"y": 113.5
},
{
"i": 4,
"x": 357,
"y": 98
}],
(在這裏我遵循4個對象)
所以我在想,有什麼更好的方法?要捕捉每一幀並在畫布上添加以下對象,或者使用透明畫布並僅繪製下列對象。
如果我的解釋是壞,你可以檢查以下視頻:http://codeazur.com.br/stuff/motiontracking/
通過「下列對象」我的意思是橙色物品。