opencv如何將遊戲畫面簡化?

時間 2021-06-01 23:56:52

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...