Hình ảnh là một cách dễ dàng hơn để thể hiện mô hình làm việc. Trong Machine Learning, Python sử dụng dữ liệu hình ảnh ở định dạng Chiều cao, Chiều rộng, Định dạng kênh. tôi. e. Hình ảnh được chuyển đổi thành Mảng Numpy ở định dạng Chiều cao, Chiều rộng, Kênh. Trong bài viết này, chúng ta sẽ xem Cách chuyển đổi hình ảnh thành mảng NumPy?
Mô-đun cần thiết
- NumPy. Theo mặc định trong các phiên bản Python cao hơn như 3. x trở đi, NumPy khả dụng và nếu không có [ở các phiên bản thấp hơn], người dùng có thể cài đặt bằng cách sử dụng
cài đặt pip gọn gàng
- Cái gối. Điều này cũng phải được cài đặt rõ ràng trong các phiên bản sau. Nó là một công cụ thao tác hình ảnh ưa thích. Trong Python 3, thư viện Gối python không có gì khác ngoài việc nâng cấp PIL. Nó có thể được cài đặt bằng cách sử dụng
cài đặt pip Gối
Đang tải hình ảnh qua Thư viện Gối
Hãy để chúng tôi kiểm tra hình ảnh ở định dạng PNG hoặc JPEG. Hình ảnh có thể được giới thiệu thông qua đường dẫn của nó. Lớp hình ảnh là trái tim của PIL. Nó có chức năng open[] mở ra một hình ảnh và định dạng tệp kỹ thuật số có thể được truy xuất cũng như định dạng pixel
Hình ảnh được sử dụng
Python3
[200, 400, 3]18
[200, 400, 3]19
[200, 400, 3]0
[200, 400, 3]1
[200, 400, 3]2
[200, 400, 3]3
[200, 400, 3]4
[200, 400, 3]5
[200, 400, 3]6
[200, 400, 3]7
[200, 400, 3]8
[200, 400, 3]9
[200, 400, 3]00
[200, 400, 3]01
[200, 400, 3]02
[200, 400, 3]8
[200, 400, 3]00
[200, 400, 3]05
[200, 400, 3]00
[200, 400, 3]07
đầu ra
[200, 400, 3]8
Chuyển đổi một hình ảnh thành NumPy Array
Python cung cấp nhiều mô-đun và API để chuyển đổi hình ảnh thành mảng NumPy. Hãy thảo luận về Chuyển đổi hình ảnh thành mảng NumPy trong Python
Sử dụng mô-đun NumPy để chuyển đổi hình ảnh thành mảng NumPy
Bản thân mô-đun Numpy cung cấp nhiều phương thức khác nhau để làm điều tương tự. Những phương pháp này là -
ví dụ 1. Sử dụng hàm asarray[]
asarray[] được sử dụng để chuyển đổi ảnh PIL thành mảng NumPy. Hàm này chuyển đổi đầu vào thành một mảng
Python3
[200, 400, 3]08
[200, 400, 3]18
[200, 400, 3]19
[200, 400, 3]0
[200, 400, 3]1
[200, 400, 3]18
[200, 400, 3]24
[200, 400, 3]0
[200, 400, 3]26
[200, 400, 3]27
[200, 400, 3]28
[200, 400, 3]29
[200, 400, 3]3
[200, 400, 3]4
[200, 400, 3]5
[200, 400, 3]6
[200, 400, 3]7
[200, 400, 3]8
[200, 400, 3]46
[200, 400, 3]47
[200, 400, 3]48
[200, 400, 3]3
[200, 400, 3]80
[200, 400, 3]81
[200, 400, 3]00
[200, 400, 3]6____384
[200, 400, 3]85
[200, 400, 3]86
[200, 400, 3]00
[200, 400, 3]88
đầu ra
[200, 400, 3]
ví dụ 2. sử dụng numpy. hàm mảng []
Bằng cách sử dụng numpy. hàm array[] lấy hình ảnh làm đối số và chuyển đổi thành mảng NumPy
Python3
[200, 400, 3]18
[200, 400, 3]19
[200, 400, 3]0
[200, 400, 3]1
[200, 400, 3]0
[200, 400, 3]24
[200, 400, 3]29
[200, 400, 3]3
[200, 400, 3]4
[200, 400, 3]5
[200, 400, 3]6
[200, 400, 3]70
[200, 400, 3]8
[200, 400, 3]72
[200, 400, 3]3
[200, 400, 3]74
[200, 400, 3]00
[200, 400, 3]76
đầu ra
[200, 400, 3]0
Để lấy giá trị của từng pixel của ảnh mảng NumPy, chúng ta cần in dữ liệu đã truy xuất lấy từ hàm asarray[] hoặc hàm array[]
Python3
[200, 400, 3]08
[200, 400, 3]18
[200, 400, 3]19
[200, 400, 3]0
[200, 400, 3]1
[200, 400, 3]18
[200, 400, 3]24
[200, 400, 3]0
[200, 400, 3]26
[200, 400, 3]27
[200, 400, 3]28
[200, 400, 3]29
[200, 400, 3]3
[200, 400, 3]4
[200, 400, 3]5
[200, 400, 3]6
[200, 400, 3]7
[200, 400, 3]8
[200, 400, 3]48
[200, 400, 3]3
[200, 400, 3]80
[200, 400, 3]198
[200, 400, 3]00
[200, 400, 3]00
đầu ra
[200, 400, 3]2
Lấy lại hình ảnh từ Mảng Numpy đã chuyển đổi
Hình ảnh. hàm fromarray[] giúp lấy lại hình ảnh từ mảng numpy đã chuyển đổi. Chúng tôi lấy lại các pixel cũng giống như vậy sau khi chuyển đổi qua lại. Do đó, điều này rất hiệu quả
Python3
[200, 400, 3]29
[200, 400, 3]3
[200, 400, 3]4
[200, 400, 3]5
[200, 400, 3]6
[200, 400, 3]7
[200, 400, 3]8
[200, 400, 3]48
[200, 400, 3]3
[200, 400, 3]80
[200, 400, 3]00
[200, 400, 3]6____384
[200, 400, 3]85
[200, 400, 3]86
[200, 400, 3]00
[200, 400, 3]88
[200, 400, 3]18
[200, 400, 3]19
[200, 400, 3]20
[200, 400, 3]3
[200, 400, 3]22
[200, 400, 3]00
[200, 400, 3]6____384
[200, 400, 3]26
[200, 400, 3]27
[200, 400, 3]00
[200, 400, 3]29
[200, 400, 3]00
[200, 400, 3]31
đầu ra
[200, 400, 3]4
Sử dụng API Keras để Chuyển đổi hình ảnh thành mảng NumPy
Keras API cung cấp các chức năng để tải, chuyển đổi và lưu dữ liệu hình ảnh. Máy ảnh có thể chạy trên đỉnh của khung TensorFlow và do đó bắt buộc phải có. Hình ảnh thị giác máy tính học sâu yêu cầu Keras API. Để cài đặt, gõ lệnh dưới đây trong thiết bị đầu cuối
pip cài đặt máy ảnh
Vì Keras yêu cầu TensorFlow 2. 2 hoặc cao hơn. Nếu không có, cần phải cài đặt nó. Để cài đặt, gõ lệnh dưới đây trong thiết bị đầu cuối
pip cài đặt tenorflow
Python3
[200, 400, 3]18
[200, 400, 3]33
[200, 400, 3]0
[200, 400, 3]35
[200, 400, 3]0
[200, 400, 3]37
[200, 400, 3]38
[200, 400, 3]39
[200, 400, 3]29
[200, 400, 3]3
[200, 400, 3]42
[200, 400, 3]43
[200, 400, 3]8
[200, 400, 3]45
[200, 400, 3]00
[200, 400, 3]6____384
[200, 400, 3]49
[200, 400, 3]00
[200, 400, 3]51______102
[200, 400, 3]8
[200, 400, 3]00
[200, 400, 3]55
[200, 400, 3]00
[200, 400, 3]57
đầu ra
[200, 400, 3]8
Sử dụng API Keras, chuyển đổi hình ảnh thành Numpy Array và hoàn nguyên hình ảnh từ Numpy Array
Python3
[200, 400, 3]18
[200, 400, 3]33
[200, 400, 3]0
[200, 400, 3]61
[200, 400, 3]18
[200, 400, 3]33
[200, 400, 3]0
[200, 400, 3]65
[200, 400, 3]45
[200, 400, 3]00
[200, 400, 3]6____384
[200, 400, 3]49
[200, 400, 3]00
[200, 400, 3]51______102
[200, 400, 3]8
[200, 400, 3]00
[200, 400, 3]55
[200, 400, 3]00
[200, 400, 3]57
[200, 400, 3]79
[200, 400, 3]80
[200, 400, 3]3
[200, 400, 3]82
[200, 400, 3]00
[200, 400, 3]6____085
[200, 400, 3]8
[200, 400, 3]81
[200, 400, 3]00
[200, 400, 3]6____384
[200, 400, 3]91
[200, 400, 3]92
[200, 400, 3]00
[200, 400, 3]6____095
[200, 400, 3]96
[200, 400, 3]97
[200, 400, 3]00
[200, 400, 3]6____1000
[200, 400, 3]001
[200, 400, 3]002
[200, 400, 3]003
[200, 400, 3]3
[200, 400, 3]005
[200, 400, 3]006
[200, 400, 3]00
[200, 400, 3]6____1009
[200, 400, 3]010
[200, 400, 3]011
[200, 400, 3]84
[200, 400, 3]013
đầu ra
[200, 400, 3]98
Từ đầu ra ở trên, chúng ta có thể kiểm tra xem ảnh nguồn PIL. Hình ảnh. Loại hình ảnh và hình ảnh đích giống nhau
Sử dụng Thư viện OpenCV để Chuyển đổi hình ảnh thành mảng NumPy
Phiên bản OpenCV từ 3. x có các khung DNN và Caffe và chúng rất hữu ích để giải quyết các vấn đề về học sâu. Nó có thể được cài đặt bằng cách sử dụng
pip cài đặt opencv-contrib-python
gói cv2 có các phương thức sau
- Hàm imread[] được sử dụng để tải hình ảnh và Nó cũng đọc hình ảnh đã cho [hình ảnh PIL] ở định dạng mảng NumPy.
- Sau đó, chúng ta cần chuyển đổi màu hình ảnh từ BGR sang RGB.
- imwrite[] được sử dụng để lưu hình ảnh trong tệp
Python3
[200, 400, 3]0
[200, 400, 3]015
[200, 400, 3]2
[200, 400, 3]3
[200, 400, 3]018
[200, 400, 3]7
[200, 400, 3]8
[200, 400, 3]021
[200, 400, 3]29
[200, 400, 3]3
[200, 400, 3]024
[200, 400, 3]025
[200, 400, 3]026____1027
[200, 400, 3]00
[200, 400, 3]6____384
[200, 400, 3]49
đầu ra
[200, 400, 3]7
Phần kết luận
Python là một công cụ rất linh hoạt và chúng tôi đã thấy các cách chuyển đổi hình ảnh thành Numpy Array và tương tự trở lại hình ảnh bằng các API khác nhau. Thao tác với mảng đã chuyển đổi và tạo thành các dữ liệu hình ảnh khác nhau và người ta có thể đưa vào các mạng thần kinh học sâu