У меня есть домашнее задание, которое я очень хочу выяснить.Мы провели только два лекционных дня на opencv, так что я буду слеп с этим.
Задача - преобразовать RGB-изображение в градации серого, используя формулу яркости 0,02126 * R + 0,7152 * G + 0,0722 * B
Таким образом, тип каждого пикселя должен совпадать с исходнымобраз.Нам не разрешено использовать matplot или PIL, что я часто видел, пытаясь понять это.
Код, который у меня сейчас есть, выводит только серое изображение.Так что вместо graySCALE он только серый.Я так потерян, пожалуйста, помогите.
import cv2
import numpy as np
def togray():
img = cv2.imread("fruits.jpg")
cv2.imshow('Original',img)
height, width, channels = img.shape
img2 = np.ndarray (shape=(height,width,))
for i in range(height):
for j in range(width):
img2[i,j]=(0*0.2126 + 0.7152*1 + 0.0722*2)
cv2.imshow('Grayscale',img2)
cv2.waitKey(0)
togray()