Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menukar Imej RGB ke Skala Kelabu dalam Python Menggunakan Bantal dan Matplotlib?

Bagaimana untuk Menukar Imej RGB ke Skala Kelabu dalam Python Menggunakan Bantal dan Matplotlib?

Mary-Kate Olsen
Lepaskan: 2024-12-01 07:49:10
asal
565 orang telah melayarinya

How to Convert RGB Images to Grayscale in Python Using Pillow and Matplotlib?

Menukar Imej RGB kepada Skala Kelabu dalam Python

Dalam pemprosesan imej, menukar imej RGB kepada skala kelabu ialah operasi biasa. Walaupun banyak pendekatan wujud, mencari kaedah terbina dalam dalam perpustakaan berkuasa seperti NumPy atau Matplotlib boleh memudahkan tugas anda.

Perpustakaan Bantal:

Penyelesaian yang mudah adalah dengan gunakan Perpustakaan Imej Python (Bantal). Ia menawarkan kaedah mudah untuk menukar imej RGB kepada skala kelabu:

from PIL import Image
img = Image.open('image.png').convert('L')
img.save('greyscale.png')
Salin selepas log masuk

Kod ini membaca imej RGB, menukarnya kepada skala kelabu dan menyimpan imej yang terhasil.

Menggunakan Matplotlib dengan Formula:

Pendekatan lain ialah menggunakan formula Y' = 0.2989 R 0.5870 G 0.1140 B untuk menukar imej RGB kepada skala kelabu. Dengan Matplotlib, anda boleh melaksanakan ini sebagai:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg

def rgb2gray(rgb):
    return np.dot(rgb[...,:3], [0.2989, 0.5870, 0.1140])

img = mpimg.imread('image.png')     
gray = rgb2gray(img)    
plt.imshow(gray, cmap=plt.get_cmap('gray'), vmin=0, vmax=1)
plt.show()
Salin selepas log masuk

Kod ini memuatkan imej, menukarnya kepada skala kelabu menggunakan formula dan memaparkan imej skala kelabu.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Imej RGB ke Skala Kelabu dalam Python Menggunakan Bantal dan Matplotlib?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan