Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added ignore_white parameter to specify if white or nearly white pixe… #30

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions colorthief.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,15 @@ def get_color(self, quality=10):
palette = self.get_palette(5, quality)
return palette[0]

def get_palette(self, color_count=10, quality=10):
def get_palette(self, color_count=10, quality=10, ignore_white=True):
"""Build a color palette. We are using the median cut algorithm to
cluster similar colors.

:param color_count: the size of the palette, max number of colors
:param quality: quality settings, 1 is the highest quality, the bigger
the number, the faster the palette generation, but the
greater the likelihood that colors will be missed.
:param ignore_white: if white or nearly white pixels should be ignored.
:return list: a list of tuple in the form (r, g, b)
"""
image = self.image.convert('RGBA')
Expand All @@ -69,7 +70,7 @@ def get_palette(self, color_count=10, quality=10):
r, g, b, a = pixels[i]
# If pixel is mostly opaque and not white
if a >= 125:
if not (r > 250 and g > 250 and b > 250):
if not ignore_white or not (r > 250 and g > 250 and b > 250):
valid_pixels.append((r, g, b))

# Send array to quantize function which clusters values
Expand Down