Menukar Imej RGB kepada Skala Kelabu dalam Python
Anda sedang cuba menukar imej RGB kepada skala kelabu menggunakan perpustakaan matplotlib Python. Walaupun pustaka menyediakan fungsi membaca, penukaran skala kelabu tidak disertakan secara eksplisit.
Carian Fungsi Terbina Dalam
Anda telah mempersoalkan ketiadaan fungsi penukaran skala kelabu asli sama ada dalam NumPy atau matplotlib. Sesungguhnya, transformasi sedemikian adalah operasi asas dalam pemprosesan imej.
Pilihan Resolusi
Walaupun kekurangan fungsi terbina dalam, terdapat beberapa pendekatan yang disyorkan:
Perpustakaan Bantal:
Bantal, perpustakaan manipulasi imej, menawarkan penyelesaian yang mudah dan cekap:
from PIL import Image img = Image.open('image.png').convert('L') img.save('greyscale.png')
Pelaksanaan Formula Matplotlib:
Matplotlib membolehkan anda melaksanakan sendiri formula penukaran skala kelabu:
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()
Fungsi Tersuai:
Anda juga boleh membuat fungsi anda sendiri untuk melaksanakan penukaran, seperti yang ditunjukkan dalam kod asal anda. Walaupun ia mungkin bukan yang paling cekap, ia menyediakan penyelesaian yang boleh dilaksanakan.
Pemeliharaan Saluran Alpha
Jika imej input anda termasuk saluran alfa (transparensi), Bantal membenarkan anda untuk mengekalkannya menggunakan mod 'LA':
img = Image.open('image.png').convert('LA')
Pendekatan ini menawarkan fleksibiliti dan kecekapan berdasarkan khusus anda keperluan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Imej RGB kepada Skala Kelabu dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!