<p>只需操纵像素值,就可以将图像转换为棕褐色。下面是代码(免责声明:摘自<a href="https://yabirgb.com/blog/creating-a-sepia-filter-with-python/" rel="nofollow noreferrer">this</a>文章。)</p>
<pre><code>from PIL import Image
def sepia(image_path:str)->Image:
img = Image.open(image_path)
width, height = img.size
pixels = img.load() # create the pixel map
for py in range(height):
for px in range(width):
r, g, b = img.getpixel((px, py))
tr = int(0.393 * r + 0.769 * g + 0.189 * b)
tg = int(0.349 * r + 0.686 * g + 0.168 * b)
tb = int(0.272 * r + 0.534 * g + 0.131 * b)
if tr > 255:
tr = 255
if tg > 255:
tg = 255
if tb > 255:
tb = 255
pixels[px, py] = (tr,tg,tb)
return img
</code></pre>
<p>原始图像<a href="https://i.stack.imgur.com/XrJFa.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/XrJFa.jpg" alt="enter image description here"/></a></p>
<p>深褐色图像<a href="https://i.stack.imgur.com/rpBbK.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/rpBbK.jpg" alt="enter image description here"/></a></p>