Domowe efekty specjalne - podmiana tła

28.09.2011 - Filip Mróz
TrudnośćTrudność

Czy chciałeś kiedyś zrobić film, w którym uciekasz przed tyranozaurem albo rzucasz kule ognia, tak jak to wygląda w kinie? Wydawało Ci się, że wymaga to dużych pieniędzy oraz olbrzymiej wiedzy? Nic podobnego! Okazuje się, że by uzyskać proste efekty potrzebna jest tylko zwykła kamera internetowa, krztyna wiedzy oraz odrobina zapału. W tym artykule pokazujemy, jak połączyć te elementy w interesujący produkt.



Stworzymy taki film:

Projekt VS2008 i paczka plików źródłowych
Skompilowany program gotowy do uruchomienia (na platformę Windows)

Dzisiejsze filmy są pełne komputerowych efektów specjalnych, które mają stworzyć to, czego nie da się fizycznie wytworzyć jako rekwizyty czy pomieszczenia. Jako że w tych środowiskach mają się poruszać żywi aktorzy, musi być sposób by wyciąć samych aktorów i wprowadzić ich w inną scenerię. Zadanie, którego podejmuje się ten artykuł, to napisanie programu, który rozdzieli tło od planu pierwszego i podmieni je na inne.

Najbardziej popularna metoda to wykorzystanie tła o silnie nasyconym, jednolitym kolorze (np. często stosowanej zieleni – green screen). Wówczas rozpoznanie tła polega na wybraniu miejsc z obrazu o kolorze zbliżonym do ustalonego. W artykule opiszemy inny sposób, a mianowicie badanie różnicy między wcześniej zapisanym tłem a aktualnym obrazem. Gdy różnica jest niewielka, traktujemy obszar jako tło. Przewagą tej metody jest fakt, że nie wymaga ona jednolitego, intensywnego koloru tła, przez co jest łatwiejsza do wykorzystania w "chałupniczych" warunkach. Oczywiście nadal wymagane jest odpowiednie oświetlenie oraz tło kolorystycznie różne od aktorów, ale te wymagania łatwiej spełnić.

Technologia

  • Aplikację napiszemy C++ z wykorzystaniem Visual Studio 2008, aczkolwiek nie jest ono wymagane.
  • Jako narzędzie do wczytywania i przetwarzania obrazów wykorzystamy darmową bibliotekę OpenCV w najnowszej wersji 2.3 (z lipca 2011). Można ściągnąć źródła i samodzielnie ją przekompilować albo pobrać gotową skompilowaną wersję. Więcej informacji można znaleźć w instrukcji instalacji oraz spisie funkcji. W dalszej części artykułu zakładamy, że bibliotekę udało się poprawnie zainstalować.
  • Do działania programu potrzebna będzie również kamera. OpenCV obsługuje różne rodzaje kamer, od kamerek internetowych podłączanych przez USB, po używające interfejsu FireWire. Ważne jest, by zainstalować odpowiednie sterowniki do kamery, żeby móc ją skonfigurować, a w szczególności wyłączyć automatyczne dostosowywanie jasności, które utrudnia wykorzystywanie statycznego tła (ponieważ cały obraz nagle zmienia jasność).
5
Twoja ocena: Brak Ocena: 5 (3 ocen)

Copyright © 2008-2010 Wrocławski Portal Informatyczny

design: rafalpolito.com