【问题标题】:How to invert black and white with scikit-image?如何用 scikit-image 反转黑白?
【发布时间】:2015-03-21 00:23:59
【问题描述】:

我用ndimage 读取了一个图像,结果是这样的二值图像:

我想反转图像,让白色变成黑色,反之亦然。

感谢您的帮助。

【问题讨论】:

    标签: python image image-processing scipy scikit-image


    【解决方案1】:
    numpy.invert(close_img)
    

    我使用反转数组。它对我有用。

    【讨论】:

    • 如果你的图像是 dtype bool,那么你可以简单地做~close_img
    • 如果你的图片是dtype无符号整数,也可以使用~close_img
    【解决方案2】:

    使用 scikit-image 的开发版(即将发布 v0.13),您可以使用 invert()。示例:

    from skimage import util 
    img = data.camera() 
    inverted_img = util.invert(img)
    

    【讨论】:

    • 它比 cv2.bitwise_not 工作得更好。谢谢!
    【解决方案3】:

    如果您的图像以 1.0 的非负浮点值表示,您可以使用 1 - close_image

    【讨论】:

    • 可用于最大值为255的图片,使用255 - close_image即可
    【解决方案4】:

    这是使用 OpenCV 的另一种方法

    import cv2
    
    image = cv2.imread('2.png')
    invert = cv2.bitwise_not(image) # OR
    # invert = 255 - image
    

    【讨论】:

    • 很好,很有用
    【解决方案5】:

    我喜欢Pamungkas Jayuda 的答案,但它仅在您的数据是整数的假设下才有效。在我的例子中,我只是使用了简单的反转,分母上的值很小,以避免被零除:

    1 / (2e5 + img)
    

    【讨论】:

      猜你喜欢
      • 2021-10-08
      • 1970-01-01
      • 2019-07-13
      • 2015-04-07
      • 2017-04-21
      • 2018-03-09
      • 2020-01-10
      • 1970-01-01
      相关资源
      最近更新 更多