Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để xem các giá trị pixel của một hình ảnh bằng cách sử dụng scikit-learning trong Python?

Xử lý trước dữ liệu về cơ bản đề cập đến nhiệm vụ thu thập tất cả dữ liệu (được thu thập từ nhiều tài nguyên khác nhau hoặc một tài nguyên duy nhất) vào một định dạng chung hoặc thành các tập dữ liệu thống nhất (tùy thuộc vào loại dữ liệu).

Vì dữ liệu trong thế giới thực không bao giờ là lý tưởng, nên có khả năng dữ liệu bị thiếu ô, lỗi, giá trị ngoại lai, sự khác biệt trong các cột, v.v.

Đôi khi, hình ảnh có thể không được căn chỉnh chính xác, hoặc có thể không rõ ràng hoặc có thể có kích thước rất lớn. Mục tiêu của quá trình xử lý trước là loại bỏ những sai lệch và lỗi này.

Để lấy pixel của một hình ảnh, một chức năng tích hợp có tên là "flatten" được sử dụng. Sau khi hình ảnh được đọc, các giá trị pixel được lưu trữ dưới dạng khung dữ liệu. Hàm "flatten" được sử dụng để chuyển đổi ba chiều của hình ảnh RGB thành một chiều duy nhất và nhận giá trị của pixel vào khung dữ liệu.

Thay vì in toàn bộ khung dữ liệu, các kích thước của khung dữ liệu được in. Chúng ta hãy lấy ví dụ về việc tải lên một hình ảnh và lấy các pixel hiện diện trong hình ảnh dưới dạng khung dữ liệu bằng cách sử dụng thư viện scikit-learning -

Ví dụ

from skimage import io
import pandas as pd
path = "path to puppy.PNG"
img = io.imread(path)
print("Image being read")
io.imshow(img)
print("Image printed on console")
my_df = pd.DataFrame(img.flatten())
print("The image pixels dimensions are ")
print(my_df.shape)

Đầu ra

Image being read
Image printed on console
The image pixels dimensions are
(886104, 1)

Làm thế nào để xem các giá trị pixel của một hình ảnh bằng cách sử dụng scikit-learning trong Python?

Giải thích

  • Các thư viện bắt buộc được nhập.

  • Đường dẫn nơi lưu trữ hình ảnh được xác định.

  • Hàm 'imread' được sử dụng để truy cập đường dẫn và đọc hình ảnh.

  • Hàm 'imshow' được sử dụng để hiển thị hình ảnh trên bảng điều khiển.

  • Hàm "flatten" được sử dụng để chuyển đổi ba chiều của hình ảnh RGB thành một chiều duy nhất và nhận giá trị của pixel vào khung dữ liệu.

  • Thay vì in khung dữ liệu có quá nhiều hàng, các kích thước của khung dữ liệu được hiển thị.

  • Khung dữ liệu có thể được xem bằng cách sử dụng ‘print (my_df)’ .

  • Đầu ra là một khung dữ liệu với các giá trị pixel hình ảnh được in trên bảng điều khiển.