Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Chroma key
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Programming== There are several different quality- and speed-optimised techniques for implementing colour keying in software.<ref>{{cite web | url = http://www.cs.utah.edu/~michael/chroma/ | title = High Quality Chroma Key | last = Ashihkmin | first = Michael | publisher = University of Utah | access-date = 23 February 2010 | archive-date = 30 September 2018 | archive-url = https://web.archive.org/web/20180930132543/http://www.cs.utah.edu/~michael/chroma/ | url-status = dead }}</ref><ref name="gcfilms">{{cite web | url = http://gc-films.com/chromakey.html | title=Greenscreen code and hints | first=Edward | last=Cannon}}</ref> In most versions, a function {{var|f}}({{var|r}}, {{var|g}}, {{var|b}}) β {{var|Ξ±}} is applied to every pixel in the image. {{var|Ξ±}} (alpha) has a meaning similar to that in [[alpha compositing]] techniques. {{var|Ξ±}} β€ 0 means the pixel is fully in the green screen, {{var|Ξ±}} β₯ 1 means the pixel is fully in the foreground object, and intermediate values indicate the pixel is partially covered by the foreground object (or it is transparent). A further function {{var|g}}({{var|r}}, ''g'', ''b'') β ({{var|r}}, ''g'', ''b'') is needed to remove green spill on the foreground objects. A very simple {{var|f}}() function for green screen is {{var|A}}({{var|r}}+''b'') β {{var|Bg}} where {{var|A}} and {{var|B}} are user adjustable constants with a default value of 1.0. A very simple {{var|g}}() is (''r'', min(''g'',''b''), ''b''). This is fairly close to the capabilities of analog and film-based screen pulling. Modern examples<ref name="gcfilms" /> of these functions are best described by two closed nested surfaces in 3D RGB space, often quite complex. Colours inside the inner surface are considered green screen. Colours outside the outer surface are opaque foreground. Colours between the surfaces are partially covered, they are more opaque the closer they are to the outer surface. Sometimes more closed surfaces are used to determine how to remove green spill. It is also very common for {{var|f}}() to depend on more than just the current pixel's colour, it may also use the (''x'', ''y'') position, the values of nearby pixels, the value from reference images or a statistical colour model of the scene,<ref>{{cite journal | title=Interactive High-Quality Green-Screen Keying via Colour Unmixing | first1=Yagiz | last1=Aksoy | first2=Tunc| last2=Aydin | first3=Marc| last3=Pollefeys | first4=Aljoscha | last4=Smolic | journal=ACM Transactions on Graphics | volume=36 | issue=4 | pages=1 | year=2016| doi=10.1145/3072959.2907940 | doi-access=free }}</ref> and values from user-drawn masks. These produce closed surfaces in space with more than three dimensions. A different class of algorithm tries to figure out a 2D path that separates the foreground from the background. This path can be the output, or the image can be drawn by filling the path with {{var|Ξ±}} = 1 as a final step. An example of such an algorithm is the use of [[active contour]]. Most research in recent years{{When|date=June 2016}} has been into these algorithms.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)