INNER CODE UNIT · Python

num_bins

KennethJAllen/proper-pixel-art · proper_pixel_art/colors.py:212

    num_bins = 255 // bin_size + 1

    # Grid 1: standard binning (boundaries at 0, bin_size, 2*bin_size, ...)
    bins1 = rgb_pixels // bin_size
    indices1 = bins1[:, 0] * num_bins**2 + bins1[:, 1] * num_bins + bins1[:, 2]
    counts1 = np.bincount(indices1, minlength=num_bins**3)
    dominant1 = np.argmax(counts1)
    max_count1 = counts1[dominant1]

    # Grid 2: offset binning (grid 1 shifted by half a bin)
    # Widen before adding so bright values don't wrap around in uint8, then clamp
    offset = bin_size // 2
    bins2 = np.minimum(rgb_pixels.astype(np.int64) + offset, 255) // bin_size
    indices2 = bins2[:, 0] * num_bins**2 + bins2[:, 1] * num_bins + bins2[:, 2]
    counts2 = np.bincount(indices2, minlength=num_bins**3)
    dominant2 = np.argmax(counts2)
    max_count2 = counts2[dominant2]

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…