Each color is perceived in relation to other colors. The top and bottom bars each contain the same component colors, but a different display order causes individual colors to appear differently.

def setup():
    size(640, 360)
    noStroke()
    noLoop()    # Draw only one time
    global a, b, c, d, e
    a = color(165, 167, 20)
    b = color(77, 86, 59)
    c = color(42, 106, 105)
    d = color(165, 89, 20)
    e = color(146, 150, 127)


def draw():
    drawBand(a, b, c, d, e, 0, width / 128)
    drawBand(c, a, d, b, e, height / 2, width / 128)


def drawBand(v, w, x, y, z, ypos, barWidth):
    num = 5
    colorOrder = (v, w, x, y, z)
    for i in range(0, width, barWidth * num):
        for j in range(num):
            fill(colorOrder[j])
            rect(i + j * barWidth, ypos, barWidth, height / 2)