Quixels - Quantum Pixels
Dyalog APL, 23 21 19 bytes

Takes table of (R, G, B) triplets.
Inspired by miles' algorithm
Returns table of indices into {(255, 0, 0), (0, 255, 0), (0, 0, 255)}. Horribly wasteful.
(?∘≢⊃⊢)¨(⊂⍳3)/¨⍨1+⊢

(
 ?∘≢ random index
 ⊃ selects
 ⊢ from
)¨ each of
(
 ⊂ the entire
 ⍳3 first three indices
)/¨⍨ replicated by each of
1+⊢ the incremented triplets
TryAPL!

Old version
Returns table of 0-based indices into {(255, 0, 0), (0, 255, 0), (0, 0, 255)}
{+/(?0)≥+\(1+⍵)÷3++/⍵}¨

{...}¨ for each quixel in the table, find the:
 +/ the sum of (i.e. count of truths of)
 (?0)≥ a random 0 &lt; number &lt; 1 being greater than or equal to
 +\ the cumulative sum of
 (1+⍵)÷ the incremented RGB values divided by
 3+ three plus
 +/⍵ the sum of the quixel
Note: Dyalog APL lets you chose between the Lehmer linear congruential generator, the Mersenne Twister, and the Operating System's RNG¹ ².
For example, the image:
┌──────────┬──────────┬───────────┬───────────┬─────────┐
│52 241 198│148 111 45│197 165 180│9 137 120  │46 62 75 │
├──────────┼──────────┼───────────┼───────────┼─────────┤
│81 218 104│0 0 255   │0 255 0    │181 202 116│122 89 76│
├──────────┼──────────┼───────────┼───────────┼─────────┤
│181 61 34 │84 7 27   │233 220 249│39 184 160 │255 0 0  │
└──────────┴──────────┴───────────┴───────────┴─────────┘

can give
┌─┬─┬─┬─┬─┐
│1│0│2│2│1│
├─┼─┼─┼─┼─┤
│2│2│1│1│2│
├─┼─┼─┼─┼─┤
│0│2│1│2│0│
└─┴─┴─┴─┴─┘

Notice how the three &quot;pure&quot; quixels collapsed to their respective colors.
TryAPL online!