【问题标题】:Python: Want to edit image like adobe PhotoshopPython:想要像 adobe Photoshop 一样编辑图像
【发布时间】:2020-11-21 02:59:54
【问题描述】:

我想像 Photoshop 一样在 Python 中降低图像的亮度、对比度和偏移量。我增强了该图像中的条形码。我想通过编辑该图像使该条形码可见。

【问题讨论】:

  • Stackoverflow 是一个可以就您遇到问题的代码提出问题的地方。请展示您的尝试以及遇到的问题。
  • 从 PIL 导入图像,ImageEnhance ...:im = Image.open("invisible.png") ...:enhancer = ImageEnhance.Brightness(im) ...:enhanced_im = enhancer。增强(1.8)...:增强器= ImageEnhance.Contrast(im)...:增强型_im =增强器.enhance(4.0)...:增强器= ImageEnhance.Sharpness(im)...:增强型_im =增强器.enhance( 10.0) ...: enhanced_im.save("enhanced.sample5.png")

标签: python-3.x opencv image-processing python-imaging-library


【解决方案1】:

你可以使用histogram equalisation:

import cv2

# Load image as greyscale
im = cv2.imread('XD04u.png', cv2.IMREAD_GRAYSCALE)

# Equalise and save
res = cv2.equalizeHist(im)
cv2.imwrite('result.png', res)

【讨论】:

  • 非常感谢!太感谢了。我是图像处理的初学者。
【解决方案2】:
import colorsys

def colorize(im, h, s, l_adjust):
    h /= 360.0
    s /= 100.0
    l_adjust /= 100.0
    if im.mode != 'L':
        im = im.convert('L')
    result = Image.new('RGB', im.size)
    pixin = im.load()
    pixout = result.load()
    for y in range(im.size[1]):
        for x in range(im.size[0]):
            l = pixin[x, y] / 255.99
            l += l_adjust
            l = min(max(l, 0.0), 1.0)
            r, g, b = colorsys.hls_to_rgb(h, l, s)
            r, g, b = int(r * 255.99), int(g * 255.99), int(b * 255.99)
            pixout[x, y] = (r, g, b)
    return result```

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-09
    • 1970-01-01
    • 1970-01-01
    • 2011-02-23
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    相关资源
    最近更新 更多