Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在不使用OpenCV的Python中将彩色图像转换为灰度 我想使用Python将彩色图像转换为灰度。所有与此相关的教程都使用OpenCV实现此功能,而我希望在没有任何库的帮助下实现此功能。_Python_Image_Opencv - Fatal编程技术网

在不使用OpenCV的Python中将彩色图像转换为灰度 我想使用Python将彩色图像转换为灰度。所有与此相关的教程都使用OpenCV实现此功能,而我希望在没有任何库的帮助下实现此功能。

在不使用OpenCV的Python中将彩色图像转换为灰度 我想使用Python将彩色图像转换为灰度。所有与此相关的教程都使用OpenCV实现此功能,而我希望在没有任何库的帮助下实现此功能。,python,image,opencv,Python,Image,Opencv,以下是我如何使用OpenCV实现这一点: import numpy as np import cv2 img = cv2.imread("input.jpg", 0) cv2.imwrite("output.jpg", img) 这可以使用纯Python实现吗?您可以根据转换公式编写它: Grayscale只是三个通道RGB之间的加权平均值。提取原始图像上的每个RGB像素并应用。例如:Y=0.299×R+0.587×G+0.114×B。权重值取决于用于

以下是我如何使用OpenCV实现这一点:

import numpy as np
import cv2

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

这可以使用纯Python实现吗?

您可以根据转换公式编写它:


Grayscale
只是三个通道
RGB
之间的加权平均值。提取原始图像上的每个
RGB
像素并应用。例如:Y=0.299×R+0.587×G+0.114×B。权重值取决于用于转换为
灰度的模型。
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