相册中的 AutoContrast?

AutoContrast in Albumentations?

我可以在 Albumentations 库中使用 AutoContrast 吗?即制作最暗的像素 黑色和最亮的像素白色。我看到了 RandomBrightnessContrast 一个,但是当我 select 对比度参数为 0 时它是正确的吗?

不幸的是,现在没有现成的自动对比度转换。您可以使用 Lambda transform:

自己实现它
def _autocontrast(img):
    h = cv2.calcHist([img], [0], None, [256], (0, 256)).ravel()

    for lo in range(256):
        if h[lo]:
            break
    for hi in range(255, -1, -1):
        if h[hi]:
            break

    if hi > lo:
        lut = np.zeros(256, dtype=np.uint8)
        scale_coef = 255.0 / (hi - lo)
        offset = -lo * scale_coef
        for ix in range(256):
            lut[ix] = int(np.clip(ix * scale_coef + offset, 0, 255))

        img = cv2.LUT(img, lut)

    return img

transform = Lambda(image = lambda img: _autocontrast(img))

P.S。 Pull request 包含Autocontrast transform 正在审核中很长时间了。您可以在 github 上为这个 PR 投票,以便向维护者突出显示它 :)