Hướng dẫn how do i convert rgb images to grayscale in python? - làm cách nào để chuyển đổi hình ảnh rgb sang thang độ xám trong python?

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

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.

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

Những cách khác nhau để chuyển đổi hình ảnh thành thang độ xám trong Python.

  • Hình ảnh đầu vào ..
  • Chuyển đổi hình ảnh Grays Vange với Skimage (Hình ảnh Scikit) - Màu sắc. rgb2gray ().
  • 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.

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

    Những cách khác nhau để chuyển đổi hình ảnh thành thang độ xám trong Python.

    Hình ảnh đầu vào .. is the process of converting an image from other color spaces e.g. RGB, CMYK, HSV, etc. to shades of gray. It varies between complete black and complete white.

    Chuyển đổi hình ảnh Grays Vange với Skimage (Hình ảnh Scikit) - Màu sắc. rgb2gray ().

    • Hình ảnh chuyển đổi thang độ xám với gối (PIL) - Chuyển đổi (). For example, In RGB images there are three color channels and three dimensions while grayscale images are single-dimensional.
    • Hình ảnh Chuyển đổi thang độ lớn với OpenCV - CV2. imread (). Consider training neural articles on RGB images of 10x10x3 pixels. The input layer will have 300 input nodes. On the other hand, the same neural network will need only 100 input nodes for grayscale images.
    • Hình ảnh Chuyển đổi thang độ lớn với OpenCV - CV2. cvtcolor (). Many algorithms are customized to work only on grayscale images e.g. Canny edge detection function pre-implemented in the OpenCV library works on Grayscale images only.

    Hãy cùng tìm hiểu các phương pháp xử lý hình ảnh khác nhau để chuyển đổi hình ảnh màu thành hình ảnh thang độ xám.

    Phương pháp 1: Sử dụng hàm cv2.cvtcolor ()

    Nhập opencv và đọc hình ảnh gốc bằng iMread () hơn là chuyển đổi sang độ xám bằng hàm cv2.cvtcolor (). Hàm DestallAllWindows () cho phép người dùng phá hủy hoặc đóng tất cả các cửa sổ bất cứ lúc nào sau khi thoát khỏi tập lệnh.

    Python3

    import cv2

    image =

    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    0
    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    1
    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    2

    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    3
    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    4
    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    5

    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    6
    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    7
    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    2

    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    9=
    lum_img = img[:,:,0]
    
    1

    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    3
    lum_img = img[:,:,0]
    
    3
    lum_img = img[:,:,0]
    
    4

    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    6
    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    7
    lum_img = img[:,:,0]
    
    7

    lum_img = img[:,:,0]
    
    8

    Hình ảnh đầu vào: & NBSP; 

    Hướng dẫn how do i convert rgb images to grayscale in python? - làm cách nào để chuyển đổi hình ảnh rgb sang thang độ xám trong python?

    Hình ảnh đầu ra: & NBSP;

    Hướng dẫn how do i convert rgb images to grayscale in python? - làm cách nào để chuyển đổi hình ảnh rgb sang thang độ xám trong python?

    Phương pháp 2: Sử dụng hàm cv2.imread () với flag = zero

    Nhập opencv và đọc hình ảnh gốc bằng iMread () hơn là chuyển đổi sang giao thông màu xám bằng hàm cv2.cvtcolor (). & Nbsp;

    Python3

    import cv2

    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
    
    1=
    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    0
    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    1
    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
    
    5
    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    7
    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    2

    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    3
    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
    
    9matplotlib0

    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    6
    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    7
    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    2

    lum_img = img[:,:,0]
    
    8

    Hình ảnh đầu ra:

    Phương pháp 3: Sử dụng thao tác pixel (phương pháp trung bình)

    Python3

    import cv2

    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
    
    1=
    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    0
    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    1
    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    2

    imread2= imread4

    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    7imread6imread7imread8

    imread9 import0import1 import2import3

    import4imread9 import6import1 import2import9

    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    3
    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
    
    9matplotlib0

    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    6
    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    7
    import matplotlib.image as mpimg
    img = mpimg.imread('image.png')
    
    2

    lum_img = img[:,:,0]
    
    8

    Hình ảnh đầu ra:

    Phương pháp 3: Sử dụng thao tác pixel (phương pháp trung bình)


    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.

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

    Những cách khác nhau để chuyển đổi hình ảnh thành thang độ xám trong Python..
    Hình ảnh đầu vào ..
    Chuyển đổi hình ảnh Grays Vange với Skimage (Hình ảnh Scikit) - Màu sắc.rgb2gray ().
    Hình ảnh chuyển đổi thang độ xám với gối (PIL) - Chuyển đổi ().
    Hình ảnh Chuyển đổi thang độ lớn với OpenCV - CV2.imread ().
    Hình ảnh Chuyển đổi thang độ lớn với OpenCV - CV2.cvtcolor ().

    Làm cách nào để chuyển đổi RGB thành thang độ xám trong Python Opencv?

    Bước 1: Nhập OpenCV.Step 2: Đọc hình ảnh gốc bằng cách sử dụng iMread (). Bước 3: Chuyển đổi sang độ xám bằng hàm cv2.cvtcolor (). Step 2: Read the original image using imread(). Step 3: Convert to grayscale using cv2. cvtcolor() function.

    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.