สารบัญ:

GET1033 Python Coded Image Processor: 5 ขั้นตอน
GET1033 Python Coded Image Processor: 5 ขั้นตอน

วีดีโอ: GET1033 Python Coded Image Processor: 5 ขั้นตอน

วีดีโอ: GET1033 Python Coded Image Processor: 5 ขั้นตอน
วีดีโอ: GET1033 Final Project Video 2024, พฤศจิกายน
Anonim
GET1033 Python Coded Image Processor
GET1033 Python Coded Image Processor

โปรเจ็กต์นี้เกี่ยวกับการสร้างตัวประมวลผลภาพที่มีรหัสหลามสำหรับโมดูลของฉัน GET1033 Exploring Computational Media Literacy ในขั้นแรก ผู้ใช้จะต้องใส่รูปถ่ายของตัวเองแล้วเลือกฟิลเตอร์ที่เขาต้องการ ฉันสร้างตัวกรอง 9 ตัว ได้แก่ แสดงภาพอินพุต, กระจก, วางด้านหลังแถบ, ใส่หลังแถบโปร่งใส, รูปภาพวงกลม, เบลอ, หมุน, เปลี่ยนสี และ Photoshop หลังจากเลือกภาพใดภาพหนึ่งแล้ว ภาพที่ส่งออกจะมีเอฟเฟกต์ ดังที่แสดงในภาพ มันคือฟิลเตอร์สำหรับการเปลี่ยนสี โดยที่ฉันตรวจจับพิกเซลสีเขียวในภาพแล้วแปลงเป็นสีชมพู

ขั้นตอนที่ 1: ขั้นตอนการทำ

ขั้นตอนการทำ
ขั้นตอนการทำ

ขั้นตอนที่ 1: ดาวน์โหลด Python จากที่นี่!

ขั้นตอนที่ 2: รหัส!

อย่างแรกเลย ฉันนำเข้าแพ็คเกจสองสามตัวพร้อมฟังก์ชันที่เข้ารหัสไว้ล่วงหน้าเพื่อใช้ในโค้ด แพ็คเกจที่ฉันนำเข้าคือ Scipy, Matplot และ Numpy

สำหรับ Scipy ฉันนำเข้า Miscellaneous Routines (MISC) และ Multi-dimentional Image Processing (NDIMAGE) MISC ใช้สำหรับอ่านและบันทึกภาพในขณะที่ NDIMAGE ใช้สำหรับกรองเกาส์เซียนและหมุน

สำหรับ Matplotlib เป็นไลบรารีสำหรับพล็อตกราฟใน Python ซึ่งมีอินเทอร์เฟซแบบ MATLAB

สำหรับ Numpy เป็นไลบรารีที่สามารถรองรับอาร์เรย์และเมทริกซ์ขนาดใหญ่หลายมิติได้ Numpy มีความสำคัญเนื่องจากช่วยให้ฉันแก้ไขอาร์เรย์ของสีแดง สีเขียว และสีน้ำเงิน (RGB) ของรูปภาพได้อย่างมีประสิทธิภาพเมื่อฉันเพิ่มหรือคูณอาร์เรย์ ตัวอย่างเช่น A = [0, 1, 2] และการปรากฏตัวของ Numpy, A*2 = [0, 2, 4] แทนที่จะได้รับ A*2 = [0, 1, 2, 0, 1, 2].

เมื่อฉันทำงานเกี่ยวกับฟิลเตอร์เปลี่ยนสี ฉันกำลังพยายามเปลี่ยนผมสีเขียวของเด็กผู้หญิงให้เป็นสีชมพู ดังนั้น สิ่งที่ฉันทำคือตรวจจับพิกเซลสีเขียวในภาพแล้วคูณด้วย (2, 0.2, 0.8) ดังนั้น ฉันจะได้สาวผมสีชมพูแทนสาวผมสีเขียวจริงๆ

สำหรับ Photoshop ฉันกำลังพยายามแทนที่พื้นหลังสีเขียวในภาพเวนเจอร์สด้วยรูปภาพของ NUS สิ่งที่ฉันทำคือการคูณ 0 กับพิกเซลสีเขียวทั้งหมด แล้วเพิ่มพิกเซลของรูปภาพของ NUS ให้กับพิกเซลสีเขียว นี่จะทำให้ฉันเห็นภาพเวนเจอร์สใน NUS

ฉันยังแนบรหัสของฉันบน GitHub และคุณสามารถดาวน์โหลดได้ ที่นี่ !

ขั้นตอนที่ 2: มันทำงานอย่างไร

มันทำงานอย่างไร?
มันทำงานอย่างไร?

ผังงานถูกแนบมาเพื่อแสดงให้เห็นว่าโค้ดทั้งหมดทำงานอย่างไร!

1. ขั้นแรก ผู้ใช้จะได้รับแจ้งให้ป้อนรูปภาพที่ต้องการ 2. จากนั้นจะแสดงรายการตัวกรองที่ผู้ใช้สามารถเลือกได้ 3. หากผู้ใช้ป้อน '1' ถึง '9' ภาพจะถูกประมวลผลและส่งออกตามตัวกรองแต่ละตัว4. หากผู้ใช้ป้อน 'R' โปรแกรมทั้งหมดจะถูกรีเซ็ตและผู้ใช้จะถูกขอให้อัปโหลดรูปภาพอีกครั้ง5. หากผู้ใช้ป้อน 'Q' โปรแกรมจะออกจากลูป

ขั้นตอนที่ 3: มันทำอะไร?

ในโครงการนี้มีตัวกรองทั้งหมด 9 ตัวที่ฉันสร้างคือ

1. แสดงภาพที่ป้อน - เพื่อแสดงภาพที่อัปโหลด

2. ภาพสะท้อน - ภาพสะท้อนของวัตถุ แต่กลับด้าน

3. Put Behind Bar - แทรกแถบแนวตั้งสีดำที่มีความกว้างและระยะห่างเท่ากับ 50 พิกเซล

4. ใส่ด้านหลังแถบโปร่งใส - แทรกแถบแนวตั้งโปร่งใสที่มีความกว้างและระยะห่างเท่ากับ 50 พิกเซล

5. Circle Picture - ทำเป็นวงกลมตรงกลางภาพ

6. Blurring - การเบลอภาพ

7. การหมุน - เพื่อหมุนภาพ 45 องศา

8. การเปลี่ยนสี - การเปลี่ยนสีสีเขียวเป็นสีชมพู

9. Photoshop - เพื่อเปลี่ยนส่วนหนึ่งของรูปภาพด้วยรูปภาพอื่น

ขั้นตอนที่ 4: ทำไมฉันถึงทำมัน

ก่อนหน้านี้ ฉันอยากรู้ว่า Instagram และ Snapchat มีฟิลเตอร์สำหรับรูปภาพที่ทำให้พวกเขาน่าสนใจได้อย่างไร หลังจากการบรรยายและการสอนเกี่ยวกับ Augmented Reality ฉันต้องการทำบางอย่างที่เกี่ยวข้องกับมัน แต่ฉันต้องการเริ่มต้นจากพื้นฐานซึ่งเป็นการประมวลผลภาพเพราะฉันอ่อนแอในการเขียนโปรแกรมและต้องการเรียนรู้การเขียนโค้ด Python

ขั้นตอนที่ 5: การปรับปรุงและเวอร์ชันในอนาคตจะทำอะไรได้บ้าง

หนึ่งในการปรับปรุงสำหรับโครงการนี้คือการสร้างตัวกรองใบหน้าของฉันเองในวิดีโอสดโดยใช้ Python ฉันพยายามเขียนโค้ดนี้แต่ไม่สามารถทำได้เนื่องจากขาดความรู้ด้านการเขียนโปรแกรมและข้อจำกัดด้านเวลา นอกจากนั้น ระบบประมวลผลภาพยังสามารถ 'ฉลาดกว่า' โดยสามารถตรวจจับสีโดยอัตโนมัติและเปลี่ยนเฉพาะส่วนที่เราต้องการเท่านั้น มีครั้งหนึ่งที่ฉันพยายามที่จะเปลี่ยนผมสีดำของบุคคลเป็นสีอื่น ฉันเลยเปลี่ยนสีตาและสีผมเป็นสีน้ำเงินซึ่งทำให้ภาพดูแปลกมาก ฉันหวังว่าฉันจะสามารถสร้างใบหน้าของตัวเองได้

แนะนำ: