小编Meg*_*sim的帖子

改变PIL中图像的对比度

我有一个应该改变对比度的程序,但我觉得它并没有真正改变对比度.它将某些区域变为红色而我不希望它.如果你能告诉我如何删除它们,谢谢.这是代码:

from PIL import Image


def change_contrast(img, level):

    img = Image.open("C:\\Users\\omar\\Desktop\\Site\\Images\\obama.png")
    img.load()

    factor = (259 * (level+255)) / (255 * (259-level))
    for x in range(img.size[0]):
        for y in range(img.size[1]):
            color = img.getpixel((x, y))
            new_color = tuple(int(factor * (c-128) + 128) for c in color)
            img.putpixel((x, y), new_color)

    return img

result = change_contrast('C:\\Users\\omar\\Desktop\\Site\\Images\\test_image1.jpg', 100)
result.save('C:\\Users\\omar\\Desktop\\Site\\Images\\test_image1_output.jpg')
print('done')
Run Code Online (Sandbox Code Playgroud)

这是图像及其结果:

obama.png 奥巴马修改

如果这是实际的对比方法,请随时告诉我

python python-imaging-library python-3.x

13
推荐指数
2
解决办法
2万
查看次数

如何向客户/老板/个人销售Python

当被要求创建系统XYZ并且您要求通过PHP或Ruby在Python中执行它时,当您需要解释它时,您可以提到哪些主要功能?

php ruby python ruby-on-rails

11
推荐指数
3
解决办法
876
查看次数

当分辨率 > 1 时,Tkinter 缩放并浮动

当分辨率高于 1 时,如何从 Scale 获取浮点值?如果我将分辨率设置为低于 1,例如 0.9,则 Scale 将给出浮点数。大于1,我只能得到整数。

示例代码:

from tkinter import *

root = Tk()

var = DoubleVar()
scale = Scale(root, variable=var, resolution=3.4)
scale.pack()

label = Label(root, textvariable=var)
label.pack()

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

我在 Windows 7 上使用 Python 3.4.1 64 位。

python tkinter python-3.x

5
推荐指数
1
解决办法
6673
查看次数