🌸 Genblum

Generating pixel images of flowers with different color strategies

Here’s a result to play around with: Flower generator

Description

Some assumptions for names of flower parts: the central part is called seeder and it will be surrounded by petals. It’s technically incorrect as female and male parts have different names, but this naming simplifies the model.

Forms

The easiest kind of flowers would be seeder size 1 and petal size 1, let’s call it S1P1.

It’s straightforward and would have structures like these:

Primitive

|   | P |   |
| P | S | P |
|   | P |   |
      

Full

| P | P | P |
| P | S | P |
| P | P | P |
      

Asymmetrical Left

|   | P | P |
| P | S | P |
| P | P |   |
      

Asymmetrical Right

| P | P |   |
| P | S | P |
|   | P | P |
      

Diagonal

| P |   | P |
|   | S |   |
| P |   | P |
      

Colors

We need to choose two colors: one for petals and one for the seeder. These colors shouldn’t be too random, and ideally should be connected in some way.

First Approach: RGB Random

Randomly selecting colors with equally distributed R, G, B parameters. Example images:

Looks okay, maybe a bit alien though.

Second Approach: RGB Correlated

Generate a petal color, then generate a seeder color. If the color distance is > 100, keep it, otherwise retry. Uses RGB (0 ≤ r, g, b ≤ 256).

Only slightly different from random.

Third Approach: RGB Bound

Use natural color limits.

Much more naturally looking.

Fourth Approach: LAB Color Space

Instead of RGB, use the human-perception-oriented CIELAB space to generate and compare colors more naturally. Also applies bounding and correlation.

CIELAB color space

Looks similar to RGB-bound, but allows slightly different palettes.

Conclusion

Each approach has its advantages. Random RGB gives wild palettes; bounded and LAB offer more natural, safe choices.

Other Forms Examples

More examples using different shapes and the bounded RGB color palette.

Full

Diagonal

Asymmetrical Left & Right

Everything

Combining all forms