2016-11-10 7 views
0

Я пытаюсь изучить Pygame, и я хотел начать с чего-то простого. Я просто зациклился на удалении U и V-канала из изображения, чтобы получить изображение в оттенках серого.Как получить изображение в оттенках серого с использованием изображения YUV Pygame

cam = pygame.camera.Camera(self.clist[0], self.size, "YUV") 

Каков способ сделать это?

ответ

0

Если вы можете использовать библиотеку PIL/pillow, вы можете преобразовать изображение pygame в изображение PIL, выполнить преобразование в градациях серого и преобразовать обратно. Это преобразование иллюстрируется here. В качестве альтернативы вы можете просто использовать решение, опубликованное here, которое вручную преобразует данные в оттенки серого.

+0

Благодарим за помощь, что вторая ссылка работает нормально, но есть ли способ сделать это, если вы записываете изображение как формат YUV – enterbutton

+0

С YUV компонент Y - это яркость, поэтому вы можете использовать это для R, G, и B-составляющих поверхностного массива. Если R = G = B, вы должны получить изображение в градациях серого, поэтому просто сделайте Y = R = G = B. – CodeSurgeon

+0

Благодарим за объяснение @ user2588654 – enterbutton