【问题标题】:How to convert an RGBA image to Grayscale in python?如何在python中将RGBA图像转换为灰度?
【发布时间】:2019-04-15 00:26:44
【问题描述】:

我有一个形状数组(height, width, 4),即 RGBA 格式,我想将其转换为灰度。原始数组的 RGB 值为 0,并且图片完全基于白色背景上的 alpha 值呈现,因此将其转换为灰度的传统方法失败(例如,cv2.cvtColor(img,cv2.COLOR_RGBA2GRAY))。

源图片:

【问题讨论】:

    标签: python opencv rgba


    【解决方案1】:

    假设:

    • 您的图像始终是黑白的;

    • 白色被定义为透明;

    如果这些都是真的,那么你可以直接使用Alpha通道

    import cv2
    import matplotlib.pyplot as plt
    
    img = cv2.imread('image.png', cv2.IMREAD_UNCHANGED)
    img_gray = 255 - img[:, :, 3]
    
    plt.imshow(img_gray, cmap='gray', vmin=0, vmax=255)
    plt.show()
    

    如果您也可以提供彩色图像,那么我会要求您提供一张。

    【讨论】:

      猜你喜欢
      • 2017-07-19
      • 1970-01-01
      • 2012-08-25
      • 1970-01-01
      • 2011-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多