Mục lục:

GET1033 Bộ xử lý hình ảnh được mã hóa Python: 5 bước
GET1033 Bộ xử lý hình ảnh được mã hóa Python: 5 bước

Video: GET1033 Bộ xử lý hình ảnh được mã hóa Python: 5 bước

Video: GET1033 Bộ xử lý hình ảnh được mã hóa Python: 5 bước
Video: MLOps containers with AWS and GCP 2024, Tháng Chín
Anonim
Bộ xử lý hình ảnh được mã hóa Python GET1033
Bộ xử lý hình ảnh được mã hóa Python GET1033

Dự án này là về việc tạo bộ xử lý hình ảnh được mã hóa bằng python của riêng tôi cho mô-đun của tôi, GET1033 Exploring Computational Media Literacy. Lúc đầu, người dùng sẽ cần nhập một bức ảnh của chính mình và sau đó chọn các bộ lọc mà họ muốn. Tôi đã tạo 9 bộ lọc đó là: Hiển thị hình ảnh đầu vào, Gương, Đặt phía sau thanh, Đặt phía sau thanh trong suốt, Hình tròn, Làm mờ, Xoay, Thay đổi màu và Photoshop. Sau khi chọn một trong số đó, hình ảnh đầu ra sẽ có các hiệu ứng. Như trong hình, nó là bộ lọc thay đổi màu, nơi tôi phát hiện các pixel màu xanh lá cây trong hình và chuyển chúng sang màu hồng.

Bước 1: Quy trình sản xuất

Quá trình làm ra nó
Quá trình làm ra nó

Bước 1: Tải xuống Python từ đây!

Bước 2: Viết mã!

Trước hết, tôi đã nhập một vài gói có sẵn chức năng được mã hóa sẵn để sử dụng trong mã. Các gói tôi đã nhập là Scipy, Matplot và Numpy.

Đối với Scipy, tôi đã nhập các Quy trình khác (MISC) và Xử lý hình ảnh đa chiều (NDIMAGE). MISC là để đọc và lưu hình ảnh trong khi NDIMAGE là để thực hiện bộ lọc gaussian và xoay.

Đối với Matplotlib, nó là một thư viện để vẽ đồ thị bằng Python, cung cấp giao diện giống MATLAB.

Đối với Numpy, nó là một thư viện có thể hỗ trợ các mảng và ma trận lớn, đa chiều. Numpy rất quan trọng vì nó cho phép tôi chỉnh sửa mảng Đỏ, Xanh lục và Xanh lam (RGB) của hình ảnh một cách hiệu quả khi tôi thêm hoặc nhân mảng. Ví dụ: A = [0, 1, 2] và với sự hiện diện của Numpy, A * 2 = [0, 2, 4] thay vì nhận A * 2 = [0, 1, 2, 0, 1, 2].

Khi tôi đang làm việc trên bộ lọc cho Thay đổi màu sắc, tôi đang cố gắng chuyển đổi mái tóc màu xanh lá cây của cô gái sang màu hồng. Vì vậy, những gì tôi đã làm là phát hiện các pixel màu xanh lục trong hình ảnh và nhân chúng với (2, 0,2, 0,8). Vì vậy, tôi sẽ có được một cô gái tóc hồng thay vì tóc xanh lá cây thực sự.

Đối với Photoshop, tôi đang cố gắng thay thế nền xanh trong bức ảnh Avengers bằng một bức ảnh của NUS. Vì vậy, những gì tôi đã làm là nhân 0 với tất cả các pixel màu xanh lá cây và sau đó thêm các pixel của hình ảnh NUS vào các pixel màu xanh lá cây. Điều này sau đó sẽ giúp tôi có được một bức ảnh về Avengers trong NUS.

Tôi cũng đã đính kèm mã của mình trên GitHub và bạn có thể tải xuống tại đây!

Bước 2: Làm thế nào nó hoạt động?

Làm thế nào nó hoạt động?
Làm thế nào nó hoạt động?

Lưu đồ được đính kèm để hiển thị toàn bộ mã hoạt động như thế nào!

1. Đầu tiên, người dùng được nhắc nhập hình ảnh đã chọn. 2. Sau đó, nó sẽ hiển thị danh sách các bộ lọc mà người dùng có thể chọn. 3. Nếu người dùng nhập từ '1' đến '9', hình ảnh sẽ được xử lý và xuất theo từng bộ lọc. Nếu người dùng nhập 'R', toàn bộ chương trình sẽ được đặt lại và người dùng sẽ được yêu cầu tải ảnh lên lại. Nếu người dùng nhập 'Q', chương trình sẽ thoát khỏi vòng lặp.

Bước 3: Nó làm gì?

Trong dự án này, có tổng cộng 9 bộ lọc mà tôi đã tạo, cụ thể là

1. Hiển thị hình ảnh đầu vào - Để hiển thị hình ảnh được tải lên

2. Ảnh phản chiếu - Sự nhân đôi phản xạ của một đối tượng nhưng bị đảo ngược hướng

3. Put Behind Bar - Chèn các thanh dọc màu đen với chiều rộng và khoảng cách bằng 50 pixel.

4. Đặt phía sau thanh trong suốt - Chèn các thanh dọc trong suốt với chiều rộng và khoảng cách bằng 50 pixel

5. Hình tròn - Để tạo một hình tròn ở giữa hình ảnh

6. Làm mờ - Để làm mờ hình ảnh

7. Xoay - Để xoay hình ảnh 45 độ

8. Thay đổi màu sắc - Để thay đổi màu xanh lá cây thành màu hồng

9. Photoshop - Để thay đổi một phần của bức ảnh bằng một bức ảnh khác

Bước 4: Tại sao tôi lại thành công?

Trước đây, tôi tò mò về cách Instagram và Snapchat đưa ra các bộ lọc cho những bức ảnh khiến chúng trở nên thú vị như vậy. Sau bài giảng và hướng dẫn về Thực tế tăng cường, tôi muốn làm một cái gì đó liên quan đến nó nhưng tôi muốn bắt đầu từ cơ bản là xử lý hình ảnh vì tôi yếu về lập trình và muốn học lập trình Python.

Bước 5: Cải tiến và các phiên bản tương lai sẽ làm gì?

Một trong những cải tiến cho dự án này là tạo Bộ lọc khuôn mặt của riêng tôi trong các video trực tiếp bằng Python. Tôi đã cố gắng viết mã cái này nhưng tôi không thể đạt được bất kỳ cái nào trong số chúng do thiếu kiến thức lập trình và thời gian hạn chế. Ngoài ra, bộ xử lý hình ảnh có thể 'thông minh hơn' khi nó có thể tự động phát hiện màu sắc và thay đổi các phần mà chúng ta chỉ muốn. Có một lần khi tôi đang cố gắng thay đổi mái tóc đen của một người sang màu khác. Cuối cùng tôi đã thay đổi cả màu mắt và màu tóc thành màu xanh lam khiến bức ảnh trông rất kỳ lạ. Tôi hy vọng rằng tôi có thể tạo ra khuôn mặt của chính mình

Đề xuất: