Chuyển đổi JPG sang Python thô

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

JPEG có thể được chuyển đổi thành RAW không?

Câu trả lời ngắn. Bạn không thể . Bởi vì, định dạng RAW là từ cảm biến máy ảnh và có nhiều bit trên pixel hơn so với JPEG được xử lý.

Bạn có thể chuyển đổi JPG sang ARW không?

Công cụ trực tuyến này sẽ giúp bạn chuyển đổi tệp từ JPG sang ARW hoặc sang bất kỳ định dạng hình ảnh nào khác . Nó an toàn, dễ sử dụng và hoàn toàn miễn phí. Ngoài ra, bạn có thể chuyển đổi bao nhiêu tệp tùy thích.

Làm cách nào để chuyển đổi RAW sang JPEG bằng Python?

Hướng dẫn .
Sao chép hoặc tải xuống
Cài đặt các gói cần thiết với cài đặt pip
Chạy tập lệnh và chuyển các thư mục nguồn và đích chẳng hạn. . /cr2-to-jpg. py ~/Desktop/raw ~/Desktop/converted

NEF RAW có tốt hơn JPEG không?

Chất lượng hình ảnh. Chụp và lưu trữ tất cả các chi tiết đi qua cảm biến của máy ảnh có nghĩa là Tệp RAW chứa dải động rộng hơn và phổ màu lớn hơn nhiều so với JPEG . Nếu ảnh RAW bị thiếu sáng hoặc dư sáng, dải động rộng hơn sẽ giúp quá trình khôi phục dễ dàng hơn rất nhiều, với khả năng kiểm soát độ sắc nét tốt hơn.

Chủ Đề