1樓:Jim Liu
貌似不應該全用opencv處理吧。需求不明確,超級馬里奧裡豐富的怪物和水管不處理了麼?
提供乙個額外思路參考,追蹤馬里奧的方法可以傳統一點,在模擬器中cheat工具定位一下儲存馬里奧位置的記憶體資料,讀出來換算即可。這個方法通用可以不侷限於乙個遊戲樣本。
地形的簡化就將影象使用opencv聚類填色kmeans的方式處理應該尚可。
另外簡化地形前可以在模擬器中將無關背景圖層關閉,一般模擬器都提供圖層繪製選項。
2樓:Mang Shao
我也只在Unity的ml-agents試過gym,不過大體思路應該還是能粗淺地介紹一二。
首先可以參考一下這個專案。
總的來說光是簡化遊戲畫面是不夠的,分數、命、剩餘時間等等這些都需要提取出來才能設計reward function,所以比較合理的方式是直接黑了模擬器拿資料,以及魔改ROM裡的tile。
魔改後的簡略版圖像
不過回到題主的問題,用模板匹配肯定是能解決的,但OpenCV的方法可能比較泛用。雖然我細節忘得差不多了,但為了泛用性一般做tm會多尺度的抽特徵,比如說HOG或Linemod然後算特徵距離。在位圖遊戲中實際這種方式並不合理,為了保證效果你可能需要手動實現乙個閹割版的tm。
比如說用單尺度+點陣圖原圖來做試試。具體做法可以截圖遊戲位圖(避免有失真壓縮),然後手動摘出主角動畫的幾個幀,固定好尺寸作為模板,然後直接去掃遊戲畫面主角可能會出現的位置算個nms就可以了。
3樓:余世傑
不會吧,這個馬里奧覆蓋背景,自身動作也沒幾個畫素,模板匹配搞不定嗎?實在搞不定,就用目標檢測咯,跟蹤感覺更不靠譜。這麼簡單的任務,隨便搞個特徵用svm都能做吧。
個人建議,順便聽聽別的大佬怎麼解決。
如何將枸杞曬乾?
是你技術不過關,還是要求太高了,下文還不夠具體?一 晾曬法 1 把新採摘的枸杞子用使用鹼水拌均勻,均勻攤放到枸杞盤中 枸杞盤 晾曬或烘烤枸杞子的專用工具。一般是用木條釘成長90厘公尺 寬60厘公尺的木框,在木框下方釘上窗紗,窗紗下方再釘一條橫木。枸杞子就攤放在窗紗上面。注意,有使用紙板或竹蓆的,但都...
如何將《聊齋》科幻化?
MR.NOBODY 應該是可以的,記得有個叫 那多手記 還是筆記的,就是把一些鬼怪演變成現代科幻解釋,其中乙個印象深刻的是講 年 大概解釋是 年 是乙個生活在時間緯度的生物,以吃時間為生,會造成大量的時間斷代或消失,但跨緯度是極小概率發生的事情,就像是蟲洞,出現大的聲音等干擾就會造成 蟲洞 不穩定而...
如何將 Python 的 itertools chain 寫入檔案裡?
這樣就行了。你不能把乙個生成器write到檔案裡頭。好歹先變成字串。from itertools import chaina the quick brown fox jumps over the lazy dog.n b do in rome as romans do.n c where there...