Two different ideas are called opponent process theory, and search results mix them freely. One is about color vision and comes from Ewald Hering in the 1870s. The other is about emotion and motivation and comes from Richard Solomon in the 1970s. They share a name and a shape, the idea that a system pushes back against itself, and almost nothing else. This piece is about the color one, with a short note at the end for anyone who landed here looking for the other.
The color version is the reason a red shape leaves a green ghost when you look away from it, the reason nobody can describe a reddish green, and the reason the color space this site scores every guess in has an axis running from red to green and another running from blue to yellow. It is also the source of a small piece of folklore worth testing: that the afterimage of a color is the color you get by inverting it. I ran that claim across most of sRGB. It is wrong by a wide margin, and it is wrong in a specific and fixable way.
What Hering actually proposed
In the middle of the nineteenth century the settled account of color vision was trichromatic theory, associated with Thomas Young and Hermann von Helmholtz. Three kinds of receptor, tuned to roughly long, medium and short wavelengths, and every color you see is some ratio of their three responses. That theory is correct, and modern cone measurements confirm it.
Hering thought it was incomplete, and his objection was not mathematical. It was that trichromatic theory does not match what color feels like from the inside. Four observations bothered him:
- People asked to name colors that look pure, with no trace of another color in them, reliably pick four rather than three: red, green, yellow and blue. Yellow does not feel like a mixture the way orange plainly does, even though trichromatic theory builds it from red and green cone signals.
- Some color combinations describe themselves easily. Reddish yellow is orange. Bluish green is teal. Reddish blue is purple. Everyone knows what those mean.
- Two combinations refuse to mean anything at all. Nobody can picture a reddish green or a yellowish blue. The words parse, the color does not arrive.
- Afterimages are not random. Stare at red and the ghost is green. Stare at blue and the ghost is yellow. The pairs that produce ghosts of each other are exactly the pairs that cannot be combined.
Hering's explanation was that somewhere after the receptors, color gets recoded onto three opposed channels: red against green, yellow against blue, and white against black. A channel can lean one way or the other but not both at once, which is why reddish green has no referent. It is asking a single lever to be pushed left and right simultaneously.
The two theories were treated as rivals for about eighty years. They were never actually in conflict. They describe different stages. Trichromatic theory is right about the cones. Opponent theory is right about what the retina does with the cone signals immediately afterwards. The visual system takes three receptor outputs and rebuilds them into one lightness signal and two color-difference signals before anything leaves the eye.
How Hering was proven right
Hering had introspection and the afterimage argument, which was not enough to displace Helmholtz. Two later results settled it.
Hue cancellation, 1955 and 1957
Leo Hurvich and Dorothea Jameson turned Hering's intuition into numbers with a method called hue cancellation. Show an observer a wavelength that looks slightly yellowish green. Ask them to add just enough blue light to remove the yellowness, and record how much it took. That quantity is a direct measurement of how strongly the yellow-blue channel was firing.
Run that across the spectrum and you get response curves for both chromatic channels. The curves crossed zero at exactly the wavelengths observers independently called pure blue, pure green and pure yellow. The theory stopped being a story about what color feels like and became a model that predicted measurements.
Opponent cells in the monkey, 1966
Russell De Valois, Israel Abramov and Gerald Jacobs recorded from 147 individual cells in the lateral geniculate nucleus of the macaque, the relay station between eye and cortex. Roughly two thirds of the cells were spectrally opponent: they increased their firing rate for some wavelengths and decreased it for others. The types they found were red-excitatory with green-inhibitory, green-excitatory with red-inhibitory, and the equivalent pair for yellow and blue. The remaining third responded the same direction to everything and carried brightness.
Hering had described the wiring from the outside, without a microscope, eighty-eight years early.
What this has to do with the color space on this page
CIELAB, the space behind CIEDE2000 and behind the score on every guess in the game, is built on Hering's channels rather than on red, green and blue. Its three coordinates are lightness, an axis called a* running from green through neutral to red, and an axis called b* running from blue through neutral to yellow. That is not a coincidence or a convenient arrangement. It is opponent process theory turned into arithmetic, because a space organised that way turns out to predict how different two colors look far better than one organised around display primaries.
Which makes an obvious test available. If opponent channels are real, the opponent of a color has an exact definition: keep the lightness, flip the sign of both chromatic channels. Negate a*, negate b*, leave L* alone. Compare that against what people actually do, which is press invert.
The measurement
Every image editor has an invert command and it does the same thing everywhere: subtract each of the red, green and blue values from 255. It is the standard shortcut for "the opposite color," and it gets used to predict afterimages, to pick a contrasting text color, and to guess what a complement should be.
I sampled sRGB on a grid of every third value in each channel, discarded the near-neutrals where a complement has no meaning, and was left with 632,808 colors. For each one I built both candidates, the 255-minus version and the opponent version, and measured the distance between them with CIEDE2000, the same metric the game scores with. On that scale a difference of about 2.3 is the point where an ordinary observer starts to see two colors as two colors.
They are not close:
- Median distance between the two: 30.54. That is roughly thirteen times the threshold at which a difference becomes visible.
- Share landing within one just noticeable difference of the opponent answer: 0.3 percent.
- Share more than 10 away, which is well past arguing about: 91.1 percent.
- Worst case in the sample: 99.47.
So the shortcut is not a rough approximation with occasional misses. It disagrees with the theory almost everywhere. The more interesting question is where the disagreement comes from, and the answer is narrower than the headline number suggests.
Three quarters of the error is one mistake
Splitting the distance into its parts, the hue is not really the problem. The angular error between the two candidates has a median of just 11.5 degrees and never exceeds 45.5 degrees across the whole sample. Inverting RGB gets you into the right neighbourhood of the hue circle.
The lightness is the problem. Opponent theory is explicit that the chromatic channels and the lightness channel are separate, so flipping red-green and blue-yellow should leave lightness untouched. Subtracting from 255 flips all three at once. Across the sample it moves lightness by a median of 31.66 L* units, and at the ninetieth percentile by 63.23, on a scale that only runs from 0 to 100. Invert a dark navy and you get a pale khaki. Opponent theory says the answer is a dark olive, the same hue direction, nothing like the same brightness.
So I tested the one-step repair: take the inverted color, then put the original lightness back. Median distance falls from 30.54 to 6.99, a 77 percent reduction, with the ninetieth percentile dropping from 60.25 to 17.37. If you are going to use the invert button as a stand-in for an opponent color, restoring the lightness afterwards recovers three quarters of the accuracy for one extra operation.
It does not recover all of it, and the residual is the honest part of the finding. Even after the lightness fix, only 7.8 percent of colors land within a just noticeable difference and only 35.5 percent get within 5. A median of 6.99 is still a visible gap. Inverting RGB and negating the opponent channels are genuinely different operations, and no amount of patching makes one into the other. The lightness correction just removes the part of the error that was never about color at all.
Your screen cannot show most of these anyway
There is a harder limit underneath all of this. 61.8 percent of the true opponent complements in the sample fall outside sRGB entirely. There is no combination of your display's three primaries that produces them. Take pure red at #ff0000. Invert gives cyan at #00ffff. The opponent answer, keeping lightness at 53.2 and flipping both chromatic channels, is a color your monitor cannot make, and the nearest thing it can manage is roughly #00a1f3.
A few worked examples, with the inverted color and the clamped opponent color side by side:
- #ff0000 red. Inverted #00ffff, opponent about #00a1f3 after clipping. Distance 33.47.
- #141e5a dark navy. Inverted #ebe1a5, a pale sand. Opponent about #1b2a00, a very dark olive. Distance 74.31, and almost all of it lightness.
- #f5e13c lemon yellow. Inverted #0a1ec3, a deep blue. Opponent about #64e1ff, a pale sky blue. Distance 61.78.
- #288c8c mid teal. Inverted #d77373, opponent #af6c72. Distance 8.86, and this one stays inside the gamut. Mid lightness, moderate chroma colors are where the shortcut behaves best.
That last case is the pattern. The invert trick is least wrong for colors already near the middle of the lightness range, because those are the colors where flipping lightness barely moves it.
The four channels do not get equal room
A second measurement, since the sweep was already running. If the visual system encodes color on a red-green axis and a blue-yellow axis, how much of each direction can a normal screen actually deliver? I walked outward from neutral along each of the four opponent half-axes at lightnesses from 20 to 90, and recorded how far each one got before leaving sRGB.
Averaged across those lightnesses, the reach in CIELAB units:
- Toward yellow: 54.6
- Toward red: 52.1
- Toward green: 37.6
- Toward blue: 36.8
The two negative directions get around 70 percent of the room the two positive ones get. Green is the most cramped of the four, and it is cramped in a particular way: at a dark lightness of 20 it reaches only 19.2, while red at the same lightness reaches 43.3. The pattern reverses at the top of the range, where at lightness 90 red collapses to 15.2 and green is the roomiest axis at 56.1.
This is a fact about display hardware, not about eyes, but it has a consequence people notice while playing. Saturated dark greens are thinly represented on screen, so a green target and a green guess sit closer together in the space than a red target and a red guess would. It lines up with the hue test measurement from last month, where the greens were the part of the sRGB circle where steps compressed hardest, and with the long-standing clinical observation that normal observers make most of their arrangement errors in the greens.
The colors nobody can see, except sometimes
Opponent theory's boldest claim is a prohibition: reddish green and yellowish blue are not merely rare, they are unavailable, because a single channel cannot hold both signs.
In 1983 Hewitt Crane and Thomas Piantanida tested that directly. They showed observers adjacent red and green stripes, and used an eye tracker to hold the boundary between the stripes fixed on the retina so that the same cells received the same light no matter how the eye moved. With the internal edge stabilised but the outer edges free, observers reported the whole field turning a single color they could not name, described as red and green simultaneously rather than as a blend. The yellow-blue version produced the same report.
The result was ignored for years. Later replications, including work by Vincent Billock and colleagues, found the same thing. The current reading is that the prohibition holds at the retinal and geniculate stage where the channels are wired as opposites, and can be worked around further up in cortex when the normal edge signals are removed. Hering's rule is a rule about a mechanism, not a law about experience, which is a fair description of most rules in perception.
What it means for looking at colors
A few things follow from this that are worth carrying around.
- Afterimages are the model working, not your eyes failing. Fixating on a color drives one channel hard in one direction, the channel adapts, and when the color goes the channel rebounds past neutral. The ghost is the rebound. There is more on the mechanism in why you see afterimages.
- The opponent complement and the design complement are not the same thing. The complement a designer reaches for comes off a hue wheel and keeps its own lightness, which is a useful convention with a different purpose. That one is covered in complementary colors. The opponent complement is a claim about neurons.
- Judging a color always means judging it against its surroundings. Opponent channels are difference detectors, so a grey patch on a red field genuinely produces a greenish signal. That is the machinery behind most of the classic color illusions and behind color constancy.
- Two channels is also why color memory degrades the way it does. Remembering a color is not storing a triple of numbers, and errors drift along channel directions rather than randomly, which is the subject of the science of color memory.
If you want to feel the channels rather than read about them, the color memory game shows a color, takes it away, and asks you to rebuild it. Where your reconstruction lands relative to the target is a small personal readout of which channel drifted. The hue sort variant puts the pressure on discrimination instead of memory, and the color blind test is the right check if you suspect one of the channels is wired differently in your case, since red-green deficiency is exactly a fault in the a* channel.
The other opponent process theory
Richard Solomon and John Corbit proposed an opponent process theory of motivation in 1974, and it is what most psychology courses mean by the term. The claim is that any strong emotional response triggers a slower, opposite response that outlasts it. The first skydive is terror followed by elation. The tenth is mild anticipation followed by a much stronger high. The initial reaction weakens with repetition, the opposing after-reaction strengthens, and the model is used to explain tolerance and withdrawal in addiction.
It shares the word opponent and the idea of a system correcting itself. It has nothing to do with cones, channels or afterimages, and no result in one version supports the other. If you are studying for a psychology exam, check which one the question is asking about, because the answer differs completely.
Method
sRGB to CIELAB under D65 using the sRGB transfer function rather than a gamma 2.2 approximation, then CIEDE2000 with all three weighting factors set to 1, implemented from Sharma, Wu and Dalal. The implementation is the one the game scores with, and was checked against known values before use: #ffa500 returns lightness 74.9, chroma 82.5, hue angle 73.1; #ff0000 returns hue angle 40.0; #ffff00 returns 102.9. The CIELAB to sRGB direction was written for this piece and round-trips to within 0.08 of one channel step.
The main sweep steps every third value in each channel, giving 636,056 colors, of which 3,248 with a chroma below 5 were discarded as too close to neutral for a complement to be meaningful, leaving 632,808. The opponent complement is defined as keeping L* and negating a* and b*. A color counts as outside sRGB if any channel falls more than half a step beyond 0 or 255 before rounding. The axis-reach sweep walks outward from a* equal to b* equal to zero in 0.1 unit increments at each lightness until the first out-of-gamut point.
One limitation worth stating plainly. Negating a* and b* is the arithmetic statement of the opponent prediction, and it is not a full model of an afterimage. Real afterimages are weaker than the inducing color, depend on how long and how brightly you stared, and fade on a timescale of seconds. The measurement here is about the direction the theory points, not about a color you can hold a swatch against.