在不使用OpenCV的Python中将彩色图像转换为灰度 我想使用Python将彩色图像转换为灰度。所有与此相关的教程都使用OpenCV实现此功能,而我希望在没有任何库的帮助下实现此功能。
以下是我如何使用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。权重值取决于用于
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