【问题标题】:Convert Color Image to Grayscale in Python without OpenCV [duplicate]在没有 OpenCV 的情况下在 Python 中将彩色图像转换为灰度 [重复]
【发布时间】:2021-08-03 11:05:51
【问题描述】:

我想使用 Python 将彩色图像转换为灰度图像。所有关于此的教程都使用 OpenCV 实现了这一点,而我想在没有任何库的帮助的情况下做到这一点。

以下是我使用 OpenCV 实现此功能的方法:

import numpy as np
import cv2

img = cv2.imread("input.jpg", 0)
cv2.imwrite("output.jpg", img)

这可以用纯 Python 实现吗?

【问题讨论】:

  • Grayscale 只是三个通道RGB 之间的加权平均值。提取原始图像上的每个RGB 像素并应用conversion formula。例如:Y = 0.299 × R + 0.587 × G + 0.114 × B。权重值取决于您用来转换为 Grayscale 的模型。

标签: python image opencv


【解决方案1】:

你可以写它,基于转换公式"Standard" RGB to Grayscale Conversion

import numpy as np

def rgb2gray(rgb):

    r, g, b = rgb[:,:,0], rgb[:,:,1], rgb[:,:,2]
    gray = 0.2989 * r + 0.5870 * g + 0.1140 * b

    return gray

【讨论】:

    猜你喜欢
    • 2015-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-28
    • 1970-01-01
    相关资源
    最近更新 更多