Chuyển đổi nhiều hình ảnh sang python thang độ xám

Một hình ảnh thang độ xám là một hình ảnh chỉ chứa các sắc thái của màu xám và không có màu nào khác. Ưu điểm chính của việc sử dụng ảnh thang độ xám so với ảnh màu là nó làm giảm các yêu cầu tính toán, tăng tốc độ xử lý và tác động đáng kể đến độ phức tạp của thuật toán.

Hướng dẫn này thảo luận về các cách khác nhau có sẵn để chuyển đổi hình ảnh thành thang độ xám trong Python

Sử dụng hàm .convert[] từ Thư viện hình ảnh gối [Fork] để chuyển đổi hình ảnh thành thang độ xám trong Python

Thư viện hình ảnh gối là một thư viện bổ sung mã nguồn mở có thể được thêm vào Python và được sử dụng để cung cấp các chức năng giúp mở, lưu và thao tác các định dạng tệp hình ảnh khác nhau trong Python. Thư viện này có sẵn trên tất cả các Windows, LinuxMacOS X

Hàm .convert[] lấy một hình ảnh làm tham số của nó và được sử dụng để chuyển đổi hình ảnh đã cho thành một loại hình ảnh mà người dùng chỉ định trong tham số mode của nó

Hàm .convert[] cung cấp các chế độ khác nhau cho quá trình chuyển đổi hình ảnh thành thang độ xám trong Python. Dưới đây là các chế độ có thể sử dụng cho quá trình này

  • 1. Nó có thể được định nghĩa là chế độ hình ảnh đen trắng thực sự chỉ có kênh 1 bit và chỉ nhận hai giá trị, đen hoàn toàn hoặc trắng hoàn toàn
  • L. Nó là viết tắt của Luminance Channel. Đó là chế độ hình ảnh đen trắng/thang độ xám 8 bit. Nó thường chiếm bất kỳ giá trị nào trong phạm vi từ 0 đến 255, đại diện cho tất cả các màu trắng, đen với tất cả các sắc độ xám ở giữa chúng
  • LA. Viết tắt của Độ chói với Kênh trong suốt Alpha. Nó được sử dụng khi hình ảnh được chuyển đổi cần được chuyển đổi thành công với độ trong suốt. Chế độ này chỉ cung cấp hỗ trợ cho hình ảnh có phần mở rộng tệp .png.gif

Đoạn mã sau sử dụng hàm .convert[] từ Thư viện hình ảnh gối [Fork] để chuyển đổi hình ảnh thành thang độ xám trong Python

1

2

3

4

5

6

 

từ PIL nhập Hình ảnh

orig = Hình ảnh. mở['đại dương. jpg']

gsi = img. chuyển đổi['L']

gsi. lưu[oceangray. jpg]

 

Giải trình
  • Hình ảnh gốc được mở và lưu trữ dưới dạng Windows0 trong mã Python bằng cách sử dụng hàm Windows1
  • Hình ảnh được chuyển đổi thành thang độ xám và được lưu trữ trong biến Windows2. Trong mã này, chúng tôi sử dụng chế độ 8-bit Windows3
  • Cuối cùng, ảnh lưu trong biến Windows2 được lưu và lưu vào hệ thống

Đoạn mã trên chuyển đổi một hình ảnh màu thành hình ảnh thang độ xám. Dưới đây là một so sánh giữa cả hai hình ảnh

Ảnh gốc

Hình ảnh đã chuyển đổi [Sau thang độ xám]

Sử dụng các hàm thư viện Windows5 để chuyển đổi hình ảnh thành thang độ xám trong Python

Một phương pháp khác để chuyển đổi ảnh thành thang độ xám là sử dụng một số chức năng từ thư viện Windows5. Windows5 là một thư viện khổng lồ cung cấp các chức năng được sử dụng cho Học máy, Thị giác máy tính và Xử lý hình ảnh. Nó không chỉ được hỗ trợ bởi Python mà còn các ngôn ngữ khác như Java, C++, v.v.

Windows5 cung cấp một số chức năng xử lý ảnh được sử dụng ở đây để chuyển đổi ảnh đã cho sang thang độ xám. Mô-đun không được tích hợp sẵn và cần được nhập vào mã Python để chạy mã thành công mà không có bất kỳ lỗi nào

Đoạn mã sau sử dụng các hàm thư viện Windows5 để chuyển đổi hình ảnh thành thang độ xám trong Python

1

2

3

4

5

6

7

 

nhập cv2

orig = cv2. imread['ocean. jpg']

cv2. imshow['Bản gốc',orig]

gsi = cv2. cvtColor[orig, cv2 . .COLOR_BGR2GRAY]

cv2. imshow['Thang độ xám', gsi]

 

Đầu ra của mã sẽ giống như đầu ra của phương thức được đề cập trong bài viết trên

Giải trình
  • Mô-đun Windows5 hoặc Linux1 được nhập vào mã Python trước
  • Hình ảnh gốc đầu tiên được tải vào mã chương trình bằng cách sử dụng chức năng Linux2
  • Hình ảnh được tải sau đó được chuyển đổi thành thang độ xám với sự trợ giúp của hàm Linux3
  • Tệp đã chuyển đổi sau đó được lưu trữ trên đĩa với sự trợ giúp của hàm Linux4

Sử dụng hàm Linux5 từ mô-đun Linux6 để chuyển đổi hình ảnh thành thang độ xám trong Python

Linux6 là một thư viện mã nguồn mở và miễn phí sử dụng, cung cấp nhiều chức năng khác nhau chỉ cho mục đích xử lý hình ảnh trong Python. Các mô-đun phụ Linux8 và Linux9 từ mô-đun MacOS X0 cần được nhập vào mã Python để sử dụng hàm Linux5

Hàm Linux5 được sử dụng để lấy một hình ảnh ở định dạng RGB làm đối số và trả về một bản sao thang độ xám của hình ảnh gốc

Đoạn mã sau sử dụng hàm Linux5 từ mô-đun Linux6 để chuyển đổi hình ảnh thành thang độ xám trong Python

1

2

3

4

5

6

 

từ skimage nhập color

từ skimage nhập io

orig = io. imread['ocean. jpg']

gsi = màu. rgb2gray[orig]

 

Đầu ra của mã trên sẽ giống như các mã khác được đề cập ở trên trong bài viết

Giải trình
  • Linux8 và Linux9 được nhập từ mô-đun MacOS X0 để chạy mã mà không có bất kỳ lỗi nào
  • Hàm MacOS X8 được sử dụng để tải hình ảnh gốc vào mã Python
  • Hàm Linux5 lấy hình ảnh gốc và trả về hình ảnh thang độ xám cho mã Python, được lưu trữ trong biến Windows2

Sử dụng Công thức chuyển đổi cùng với thư viện .convert[]1 để chuyển đổi hình ảnh thành thang độ xám trong Python

Tồn tại một công thức chuyển đổi tiêu chuẩn để chuyển đổi hình ảnh ở định dạng RGB sang thang độ xám trực tiếp. Công thức xác định cho điều này là .convert[]2

Cùng với công thức chuyển đổi chuẩn, chúng ta cũng cần sử dụng và nhập thư viện .convert[]1 để thực hiện thành công phương pháp này

.convert[]4 là một thư viện đa nền tảng chủ yếu được sử dụng để vẽ đồ họa và trực quan hóa dữ liệu trong Python và thư viện .convert[]5 là một phần mở rộng của Python

Mã để chuyển đổi hình ảnh thành thang độ xám là gì?

Phương pháp trung bình .
Thang độ xám = [R + G + B ] / 3
Thang độ xám = R/3 + G/3 + B/3
Thang độ xám = 0. 299R + 0. 587G+0. 114B
y = 0. 299R + 0. 587G+0. 114B U'= [B-Y]*0. 565 V'= [R-Y]*0. 713
Thang độ xám = Y

Làm cách nào để chuyển đổi bgr thành trăn OpenCV màu xám?

Bước 1. Nhập OpenCV. Bước 2. Đọc ảnh gốc bằng imread[]. Bước 3. Chuyển đổi sang thang độ xám bằng cv2. hàm cvtcolor[] .

Chủ Đề