Có một số video mà tôi đang tìm cách xử lý các trò chơi video khác nhau để phát hiện các "trạng thái" khác nhau trong đó.
Trò chơi đầu tiên mà tôi đang giải quyết là bất kỳ phiên bản nào của Super Street Fighter 4 .
Trong đó, tôi muốn phát hiện khi màn hình nhân vật "vs" xuất hiện. Đây là một ví dụ về một khung hình của video:
(lấy từ ~ 10 giây của video này )
Nếu tôi có thể phát hiện "vs", thì tôi có thể phát hiện khung hình video đó thực sự là màn hình "vs", cho phép tôi tìm kiếm thông tin khác (hiện tại, giả sử tôi sẽ sử dụng nó để phát hiện dấu thời gian trong video nơi trận đấu sắp bắt đầu).
Điều đó nói rằng, đây là những gì có thể giả định về các khung hình từ các video mà tôi sẽ xử lý (đây không phải là video duy nhất, có hàng ngàn, nếu không phải hàng chục hoặc hàng trăm nghìn video, nhưng vấn đề về quy mô xử lý nhiều video là một miền hoàn toàn khác nhau):
- Tôi muốn (nhưng không cần thiết) để xử lý hình ảnh có độ phân giải thấp nhất có thể với kết quả đáng tin cậy (độ phân giải thấp hơn = thời gian xử lý nhanh hơn). Hình ảnh ở trên là 480 x 270 pixel (được lấy từ video YouTube có
fmt
18 ) nhưng chúng có thể có các kích cỡ khác nhau (Tôi đã nhận được các video YouTube cófmt
18 nhưng với kích thước 640 x 360 pixel). - Hầu hết các video sẽ được cung cấp trực tiếp
- Hầu hết các video sẽ có tỷ lệ khung hình 16: 9
- Nền màu đỏ sẽ là hình động, nhưng nhìn chung là trong màu đỏ cam đó (đó là ngọn lửa)
- Đôi khi, sẽ có một huy hiệu mờ dần ở phần dưới của "vs" để chỉ ra một phiên bản (điều đó sẽ rất quan trọng, nhưng không phải ngay bây giờ), điều này có thể làm xáo trộn "vs", như vậy:
(lấy từ dấu ~ 3 giây từ video này ; cũng lưu ý rằng ở trên là độ phân giải 640 x 360 pixel)
- Kích thước và vị trí của "vs" sẽ gần giống nhau (tôi chưa xác minh điều này nhưng tôi biết nó không di chuyển) tỷ lệ với các video nguồn cấp dữ liệu trực tiếp khác
- Các ký tự sẽ được chọn từ một nhóm hơn 30 ở mỗi bên (nói cách khác, các khu vực của khung sẽ thay đổi)
- Các video nói chung sẽ có độ dài từ hai đến bốn phút, với khoảng 4.000 đến 6,00 khung hình. Tuy nhiên, có thể có các video dài hơn (có thể là hai giờ) có nhiều trò chơi khác và hành động trực tiếp được cắt. Các video này không quan trọng, nhưng nếu một giải pháp cho tôi biết một trò chơi nào đó xuất hiện trong video tổng thể lớn hơn, thật tuyệt
- Độ phân giải gốc của ảnh chụp là 720p, do đó, hình ảnh cơ bản của "vs" có thể được chụp ở kích thước "bản địa".
Cuối cùng, tôi đang tìm mã đường ống này trong .NET, nhưng đó không phải là siêu quan trọng, khái niệm bằng chứng-of-là quan trọng hơn ở đây cũng như sự hiểu biết về các kỹ thuật liên quan đến để tôi có thể dịch và tối ưu hóa nó cho .NET cũng như cho các video khác của các trò chơi khác cùng thể loại (nếu tôi có thể chọn ra những người phân biệt đối xử quan trọng và các video nói, Ultimate Marvel vs. Capcom 3 , Street Fighter x Tekken , BlazBlue: Continuum Shift , v.v.).
Tôi cũng nhúng ngón chân vào Mathematica và có phiên bản 8.0 tại nhà, vì vậy một bằng chứng về các khái niệm trong môi trường đó cũng được chào đón nhiều hơn.