mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-06-03 12:43:05 +03:00
Merge pull request #1 from radarhere/autocontrast
Updated documentation; Simplified code
This commit is contained in:
commit
407d592743
|
@ -305,11 +305,9 @@ def test_exif_transpose():
|
||||||
def test_autocontrast_cutoff():
|
def test_autocontrast_cutoff():
|
||||||
# Test the cutoff argument of autocontrast
|
# Test the cutoff argument of autocontrast
|
||||||
with Image.open("Tests/images/bw_gradient.png") as img:
|
with Image.open("Tests/images/bw_gradient.png") as img:
|
||||||
assert (
|
|
||||||
ImageOps.autocontrast(img, cutoff=10).histogram()
|
def autocontrast(cutoff):
|
||||||
== ImageOps.autocontrast(img, cutoff=(10, 10)).histogram()
|
return ImageOps.autocontrast(img, cutoff).histogram()
|
||||||
)
|
|
||||||
assert (
|
assert autocontrast(10) == autocontrast((10, 10))
|
||||||
ImageOps.autocontrast(img, cutoff=10).histogram()
|
assert autocontrast(10) != autocontrast((1, 10))
|
||||||
!= ImageOps.autocontrast(img, cutoff=(1, 10)).histogram()
|
|
||||||
)
|
|
||||||
|
|
|
@ -70,7 +70,9 @@ def autocontrast(image, cutoff=0, ignore=None):
|
||||||
becomes white (255).
|
becomes white (255).
|
||||||
|
|
||||||
:param image: The image to process.
|
:param image: The image to process.
|
||||||
:param cutoff: How many percent to cut off from the histogram.
|
:param cutoff: The percent to cut off from the histogram on the low and
|
||||||
|
high ends. Either a tuple of (low, high), or a single
|
||||||
|
number for both.
|
||||||
:param ignore: The background pixel value (use None for no background).
|
:param ignore: The background pixel value (use None for no background).
|
||||||
:return: An image.
|
:return: An image.
|
||||||
"""
|
"""
|
||||||
|
@ -105,7 +107,7 @@ def autocontrast(image, cutoff=0, ignore=None):
|
||||||
cut = 0
|
cut = 0
|
||||||
if cut <= 0:
|
if cut <= 0:
|
||||||
break
|
break
|
||||||
# remove cutoff% samples from the hi end
|
# remove cutoff% samples from the high end
|
||||||
cut = n * cutoff[1] // 100
|
cut = n * cutoff[1] // 100
|
||||||
for hi in range(255, -1, -1):
|
for hi in range(255, -1, -1):
|
||||||
if cut > h[hi]:
|
if cut > h[hi]:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user