我正在嘗試構建解決難題的應用程序(試圖開發圖算法),並且我不想一直手動輸入樣本輸入。在另一個圖像中查找圖像
編輯:我並沒有試圖建立一個遊戲。我試圖建立一個代理玩遊戲「SpellSeeker」
說我有一個圖像(見附件)在屏幕上的數字,我知道箱子的位置,我有確切的這些數字的圖像。我想要做的只是告訴哪個圖像(數字)在相應的盒子上。
Numbers http://i46.tinypic.com/3089vyt.jpg
所以我想我需要實現
bool isImageInsideImage(Bitmap numberImage,Bitmap Portion_Of_ScreenCap)
或類似的東西。
我已經試過是(使用AForge庫)
public static bool Contains(this Bitmap template, Bitmap bmp)
{
const Int32 divisor = 4;
const Int32 epsilon = 10;
ExhaustiveTemplateMatching etm = new ExhaustiveTemplateMatching(0.9f);
TemplateMatch[] tm = etm.ProcessImage(
new ResizeNearestNeighbor(template.Width/divisor, template.Height/divisor).Apply(template),
new ResizeNearestNeighbor(bmp.Width/divisor, bmp.Height/divisor).Apply(bmp)
);
if (tm.Length == 1)
{
Rectangle tempRect = tm[0].Rectangle;
if (Math.Abs(bmp.Width/divisor - tempRect.Width) < epsilon
&&
Math.Abs(bmp.Height/divisor - tempRect.Height) < epsilon)
{
return true;
}
}
return false;
}
但對於這個圖像中的黑點搜索時返回false。
我該如何執行此操作?
一些數獨或井字遊戲? – bonCodigo
你見過[類似地](http://stackoverflow.com/questions/2472467/how-to-find-one-image-inside-of-another)上的其他問題嗎? – bonCodigo
這是一款名爲「spellseeker」的遊戲。但這並不重要,我只是想構建算法來解決這個問題。是的,其實我在其他問題中發現了這個解決方案,但他們沒有幫助我。原諒我的懶惰,但我真的認爲這應該有一個更簡單的方法:) – marvin