Tôi đang cố gắng xây dựng một ứng dụng giải quyết một câu đố (cố gắng phát triển một thuật toán đồ thị), và tôi không muốn nhập thông tin nhập mẫu bằng tay mọi lúc.Tìm hình ảnh bên trong một hình ảnh khác
Chỉnh sửa: Tôi không cố xây dựng trò chơi. Tôi đang cố gắng xây dựng một đại lý chơi trò chơi "SpellSeeker"
Giả sử tôi có hình ảnh (xem tệp đính kèm) trên màn hình với số trong đó và tôi biết vị trí của các hộp và tôi có chính xác hình ảnh cho những con số này. Những gì tôi muốn làm là chỉ cần cho biết hình ảnh (số) là trên hộp tương ứng.
Numbers http://i46.tinypic.com/3089vyt.jpg
Vì vậy, tôi đoán tôi cần phải thực hiện
bool isImageInsideImage(Bitmap numberImage,Bitmap Portion_Of_ScreenCap)
hoặc một cái gì đó như thế.
Những gì tôi đã cố gắng là (sử dụng thư viện 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;
}
Nhưng nó trả về false khi tìm kiếm một dấu chấm đen trong hình ảnh này.
Làm cách nào để triển khai tính năng này?
Một số trò chơi sudoku hoặc tic tac toe? – bonCodigo
Bạn có thấy các câu hỏi khác trên [mặt bằng tương tự] không (http://stackoverflow.com/questions/2472467/how-to-find-one-image-inside-of-another)? – bonCodigo
Đó là trò chơi có tên "spellseeker". Nhưng điều quan trọng là tôi chỉ muốn xây dựng algorihm để giải quyết một vấn đề như vậy. Và có, thực sự tôi tìm thấy giải pháp này trong các câu hỏi khác, nhưng họ đã không giúp tôi. Và tha thứ cho tôi vì sự lười biếng của tôi nhưng tôi thực sự nghĩ rằng phải có một cách dễ dàng hơn cho việc này :) – marvin