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

Thang độ xám là một quá trình chuyển đổi hình ảnh từ các không gian màu khác nhau (ví dụ: RGB, HSV) thành các sắc độ xám từ đen hoàn toàn sang trắng hoàn toàn

Thang màu xám là một quá trình thường được sử dụng để

  • Giảm kích thước. trong hình ảnh RGB có ba kênh màu (đỏ, xanh lá cây và xanh lam) nên có ba chiều, trong khi hình ảnh thang độ xám là một chiều
  • Làm việc trên các thuật toán khác. một số thuật toán xử lý hình ảnh được thiết kế để chỉ hoạt động trên các hình ảnh thang độ xám (ví dụ: chức năng phát hiện cạnh Canny của thư viện OpenCV)
  • Giảm độ phức tạp của mô hình. sử dụng thang độ xám trên hình ảnh cho phép giảm số lượng đầu vào trong mô hình học máy hoặc học sâu

Chúng ta sẽ xem trong hướng dẫn sau các phương pháp được sử dụng để chuyển đổi ảnh màu thành ảnh thang độ xám là gì

Chuyển đổi hình ảnh thành thang độ xám

Chuyển đổi hình ảnh màu sang thang độ xám bằng mô-đun gối

Phương pháp đầu tiên là sử dụng mô-đun Gối để chuyển đổi hình ảnh của chúng tôi thành hình ảnh thang độ xám. Bước đầu tiên là đọc hình ảnh mà chúng tôi muốn sửa đổi và sau đó thực hiện chuyển đổi

from PIL import Image

img = Image.open('chameleon.jpg').convert('L')
img.save('greyscale_chameleon.jpg')

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

Để thực hiện chuyển đổi, chúng tôi đã sử dụng hàm convert() kết hợp với chế độ 'L' (Phương thức này có một số chế độ, bạn có thể theo dõi tài liệu này để biết thêm thông tin)

Chuyển đổi hình ảnh sang thang độ xám bằng Mô-đun OpenCV

Phương pháp thứ hai là sử dụng mô-đun OpenCV. Nó hoạt động trên nguyên tắc giống như phương pháp đầu tiên

import cv2

colored_img = cv2.imread("chameleon.jpg")
gray_img = cv2.cvtColor(colored_img.COLOR_BGR2GRAY)
cv2.imwrite("grayscale_chameleon.jpg", gray_img)

  • Làm thế nào để bạn tạo một hình ảnh màu xám trong python?
    Làm thế nào để bạn tạo một hình ảnh màu xám trong python?
    hình ảnh màu
  • Làm thế nào để bạn tạo một hình ảnh màu xám trong python?
    Làm thế nào để bạn tạo một hình ảnh màu xám trong python?
    Hình ảnh thang độ xám Sử dụng OpenCV

Chuyển đổi hình ảnh sang thang độ xám bằng mô-đun scikit-image

Màu sắc. Phương thức rgb2gray() của mô-đun scikit-image lấy hình ảnh RGB làm đầu vào và trả về bản sao thang độ xám của hình ảnh đầu vào. Đây là một ví dụ về việc sử dụng nó

from skimage import color
from skimage import io

img = io.imread('chameleon.jpg')
gray_img = color.rgb2gray(img)

Chuyển đổi hình ảnh sang thang độ xám bằng công thức chuyển đổi

Chúng ta cũng có thể chuyển đổi một hình ảnh sang thang độ xám bằng cách sử dụng công thức chuẩn để chuyển đổi RGB sang thang độ xám, cụ thể là. 0. 2989 * R + 0. 5870 *G+0. 1140 *B

Chúng ta có thể sử dụng công thức này với thư viện matplotlib. Đây là cách tiến hành

from matplotlib import pyplot as plt
import matplotlib.image as mpimg

img = mpimg.imread('chameleon.jpg')

R, G, B = img[:, :, 0], img[:, :, 1], img[:, :, 2]
gray_img = 0.2989 * R + 0.587 * G + 0.114 * B
plt.imshow(gray_img, cmap='gray')
plt.show()

  • Làm thế nào để bạn tạo một hình ảnh màu xám trong python?
    Làm thế nào để bạn tạo một hình ảnh màu xám trong python?
    hình ảnh màu
  • Làm thế nào để bạn tạo một hình ảnh màu xám trong python?
    Làm thế nào để bạn tạo một hình ảnh màu xám trong python?
    Hình ảnh thang độ xám Sử dụng OpenCV

Phần kết luận

Trong hướng dẫn này, chúng ta đã thấy cách chuyển đổi một hình ảnh màu sang thang độ xám. Việc chuyển đổi này là cần thiết trước khi tiến hành bất kỳ xử lý ảnh nào khác, hầu hết các thuật toán hiện tại chỉ hoạt động trên ảnh thang độ xám. Những phương pháp này tương đối đơn giản để sử dụng và rất hiệu quả

Tôi hy vọng rằng hướng dẫn này khiến bạn quan tâm và việc chuyển đổi hình ảnh sang thang độ xám không có gì bí mật đối với bạn. Nếu bạn có bất kỳ nghi ngờ nào về việc sử dụng một trong những phương pháp này và muốn đặt câu hỏi, bạn có thể để lại nhận xét cho tôi và tôi sẽ cố gắng giải thích cho bạn tốt nhất có thể

Chuyển đổi hình ảnh màu thành thang độ xám là điều bắt buộc đối với bất kỳ tác vụ xử lý hình ảnh nào. Nó không chỉ làm cho kích thước hình ảnh thấp hơn mà còn hữu ích trong việc xác định các cạnh và tính năng quan trọng. Trong toàn bộ hướng dẫn này, bạn sẽ biết các phương pháp khác nhau để chuyển đổi hình ảnh thành thang độ xám trong python

Phương pháp chuyển đổi hình ảnh thành thang độ xám trong Python

Trước khi hiển thị cho bạn phần trình diễn mã hóa, bạn phải cài đặt thư viện xử lý ảnh python. Trong các ví dụ của chúng tôi, tôi đang sử dụng Gối, hình ảnh scikit và mô-đun python Opencv. Vì vậy, hãy cài đặt chúng. Thứ hai, hình ảnh được sử dụng để giải thích các ví dụ bên dưới