Hướng dẫn convert image to grayscale python pil - chuyển đổi hình ảnh sang màu xám python pil

Hướng dẫn convert image to grayscale python pil - chuyển đổi hình ảnh sang màu xám python pil

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

Hướng dẫn convert image to grayscale python pil - chuyển đổi hình ảnh sang màu xám python pil

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 gray

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • 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; 
     

    Hướng dẫn convert image to grayscale python pil - chuyển đổi hình ảnh sang màu xám python pil

    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: 
     

    Hướng dẫn convert image to grayscale python pil - chuyển đổi hình ảnh sang màu xám python pil

    Làm thế nào để bạn tạo một hình ảnh màu xám trong Python?

    Chuyển đổi hình ảnh thành thang độ xám trong Python bằng công thức chuyển đổi và thư viện matplotlib. Chúng ta cũng có thể chuyển đổi một hình ảnh thành thang độ xám bằng cách sử dụng công thức chuyển đổi RGB sang độ xám là imggray = 0,2989 * r + 0,5870 * g + 0.1140 * b.imgGray = 0.2989 * R + 0.5870 * G + 0.1140 * B .

    Làm cách nào để chuyển đổi hình ảnh màu thành thang độ xám?

    Thay đổi hình ảnh thành thang độ xám hoặc thành màu đen và trắng nhấp chuột phải hình ảnh mà bạn muốn thay đổi, sau đó nhấp vào Định dạng hình ảnh trên menu phím tắt.Nhấp vào tab Hình ảnh.Trong kiểm soát hình ảnh, trong danh sách màu, nhấp vào thang độ xám hoặc đen và trắng.Right-click the picture that you want to change, and then click Format Picture on the shortcut menu. Click the Picture tab. Under Image control, in the Color list, click Grayscale or Black and White.

    Làm cách nào để lưu một hình ảnh trong thang độ xám trong Python?

    Matplotlib với Python..
    Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô phụ ..
    Tạo dữ liệu ngẫu nhiên với kích thước 5☓5 ..
    Đặt Colormap thành "Xám" ..
    Vẽ dữ liệu bằng phương thức imshow () ..
    Để hiển thị hình, sử dụng phương thức show () ..

    Làm cách nào để chuyển đổi hình ảnh từ RGB sang thang độ xám?

    I = RGB2Gray (RGB) chuyển đổi hình ảnh TrueColor RGB thành hình ảnh thang độ xám i.Hàm RGB2Gray chuyển đổi hình ảnh RGB thành thang độ xám bằng cách loại bỏ thông tin màu sắc và độ bão hòa trong khi vẫn giữ được độ chói.Nếu bạn đã cài đặt Công cụ điện toán song song ™, RGB2Gray có thể thực hiện chuyển đổi này trên GPU. converts the truecolor image RGB to the grayscale image I . The rgb2gray function converts RGB images to grayscale by eliminating the hue and saturation information while retaining the luminance. If you have Parallel Computing Toolbox™ installed, rgb2gray can perform this conversion on a GPU.