PIL là thư viện hình ảnh Python, cung cấp cho trình thông dịch Python khả năng chỉnh sửa hình ảnh.
Để chuyển đổi hoạt hình thành thang độ xám trong Python, hãy sử dụng phương thức ImageOps.graysCale (). Mô -đun PIL cung cấp lớp ImageOps, cung cấp các phương pháp khác nhau để giúp chúng tôi sửa đổi hình ảnh.an Image to Grayscale in Python, use the ImageOps.grayscale() method. PIL module provides ImageOps class, which provides various methods to help us modify the image.
Để mở hình ảnh trong Python, PIL cung cấp một lớp hình ảnh với hình ảnh mở (). Vì vậy, chúng ta có thể mở hình ảnh.
Gối hỗ trợ các định dạng tệp hình ảnh khác nhau như PNG, JPEG, PPM, GIF, TIFF và BMP.
Gối hỗ trợ các hoạt động chỉnh sửa như cắt xén, thay đổi kích thước, thêm văn bản vào hình ảnh, xoay và đánh bóng.
ImageOps.grayscale()
Hàm ImageOps.grayscale () chuyển đổi hình ảnh RGB thành hình ảnh thang độ xám. Các pixel hoàn chỉnh chuyển sang màu xám, và sẽ không có màu nào khác được nhìn thấy.ImageOps.grayscale() function converts RGB image to Grayscale image. The complete pixel turns grey, and no other color will be seen.
Cú pháp
ImageOps.grayscale(image)Thông số
Nó lấy một hình ảnh làm tham số để chuyển đổi nó thành thang độ xám. Nó là tham số cần thiết vì nó là một hình ảnh đầu vào.
Thí dụ
Chuyển đổi hình ảnh RGB thành hình ảnh thang độ xám bằng phương thức pil.imageops.grayscale ().
# Importing Image and ImageOps module from PIL package from PIL import Image, ImageOps # creating an og_image object og_image = Image.open("./forest.jpg") og_image.show() # applying grayscale method gray_image = ImageOps.grayscale(og_image) gray_image.show()Đầu ra
Bạn có thể lưu hình ảnh thang độ xám bằng phương thức Save ().
# Importing Image and ImageOps module from PIL package from PIL import Image, ImageOps # creating an og_image object og_image = Image.open("./forest.jpg") # applying grayscale method gray_image = ImageOps.grayscale(og_image) gray_image.save('gray_image.png')Phương thức Save () lưu trữ hình ảnh trong hệ thống tập tin của chúng tôi. Nó cần một tham số gọi là tên tệp.
Hình ảnh được lưu bên trong thư mục dự án hiện tại của bạn nếu bạn chạy mã trên.
Đó là nó cho hình ảnh PIL chuyển đổi thành thang độ xám trong Python.
Xem thêm
Hình ảnh python pil đến mảng numpy
Python JPG đến PNG hình ảnh
Hình ảnh Python RGB để sử dụng OpenCV
Tôi đang cố gắng sử dụng matplotlib để đọc trong hình ảnh RGB và chuyển đổi nó thành thang độ xám.
Trong Matlab, tôi sử dụng điều này:
img = rgb2gray(imread('image.png'));Trong hướng dẫn matplotlib, họ không bao gồm nó. Họ chỉ đọc trong hình ảnh
import matplotlib.image as mpimg img = mpimg.imread('image.png')Và sau đó họ cắt mảng, nhưng đó không giống với việc chuyển đổi RGB thành thang độ xám từ những gì tôi hiểu.
lum_img = img[:,:,0]Tôi thấy khó tin rằng Numpy hoặc Matplotlib không có chức năng tích hợp để chuyển đổi từ RGB sang màu xám. Đây không phải là một hoạt động phổ biến trong xử lý hình ảnh?
Tôi đã viết một chức năng rất đơn giản hoạt động với hình ảnh được nhập bằng imread trong 5 phút. Nó không hiệu quả khủng khiếp, nhưng đó là lý do tại sao tôi hy vọng một triển khai chuyên nghiệp tích hợp.
Sebastian đã cải thiện chức năng của tôi, nhưng tôi vẫn hy vọng tìm thấy một trong những tích hợp.
Thực hiện của Matlab (NTSC/PAL):
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 grayXem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
ĐọcImageOps module
contains a number of ‘ready-made’ image processing operations. This module is somewhat experimental, and most operators only work on L and RGB images.
ImageOps.grayscale() Convert the image to grayscale. The complete pixel turns to gray, no other color will be seen.
Bàn luận PIL.ImageOps.grayscale(image)
Parameters:
image – The image to convert into grayscale.
Returns An image.
PIL là thư viện hình ảnh Python cung cấp cho trình thông dịch Python khả năng chỉnh sửa hình ảnh. Mô-đun ImageOps chứa một số hoạt động xử lý hình ảnh đã sẵn sàng. Mô -đun này có phần thử nghiệm và hầu hết các toán tử chỉ hoạt động trên hình ảnh L và RGB.imageops.grayscale () chuyển đổi hình ảnh thành thang độ xám. Các pixel hoàn chỉnh chuyển sang màu xám, sẽ không có màu nào khác được nhìn thấy. & Nbsp;
Python3
Cú pháp: pil.imageops.grayscale (hình ảnh) & nbsp; tham số: & nbsp; hình ảnh - hình ảnh để chuyển đổi thành grayscale.return một hình ảnh. & Nbsp; & nbsp;
Hình ảnh được sử dụng: & nbsp; & nbsp;
# Importing Image and ImageOps module from PIL package from PIL import Image, ImageOps # creating an og_image object og_image = Image.open("./forest.jpg") # applying grayscale method gray_image = ImageOps.grayscale(og_image) gray_image.save('gray_image.png')0# Importing Image and ImageOps module from PIL package from PIL import Image, ImageOps # creating an og_image object og_image = Image.open("./forest.jpg") og_image.show() # applying grayscale method gray_image = ImageOps.grayscale(og_image) gray_image.show() 4 # Importing Image and ImageOps module from PIL package from PIL import Image, ImageOps # creating an og_image object og_image = Image.open("./forest.jpg") # applying grayscale method gray_image = ImageOps.grayscale(og_image) gray_image.save('gray_image.png')2
# Importing Image and ImageOps module from PIL package from PIL import Image, ImageOps # creating an og_image object og_image = Image.open("./forest.jpg") # applying grayscale method gray_image = ImageOps.grayscale(og_image) gray_image.save('gray_image.png')3
Output: