สารบัญ:
- ขั้นตอนที่ 1: ขั้นตอนการทำ
- ขั้นตอนที่ 2: มันทำงานอย่างไร
- ขั้นตอนที่ 3: มันทำอะไร?
- ขั้นตอนที่ 4: ทำไมฉันถึงทำมัน
- ขั้นตอนที่ 5: การปรับปรุงและเวอร์ชันในอนาคตจะทำอะไรได้บ้าง
วีดีโอ: GET1033 Python Coded Image Processor: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
โปรเจ็กต์นี้เกี่ยวกับการสร้างตัวประมวลผลภาพที่มีรหัสหลามสำหรับโมดูลของฉัน 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 ฉันพยายามเขียนโค้ดนี้แต่ไม่สามารถทำได้เนื่องจากขาดความรู้ด้านการเขียนโปรแกรมและข้อจำกัดด้านเวลา นอกจากนั้น ระบบประมวลผลภาพยังสามารถ 'ฉลาดกว่า' โดยสามารถตรวจจับสีโดยอัตโนมัติและเปลี่ยนเฉพาะส่วนที่เราต้องการเท่านั้น มีครั้งหนึ่งที่ฉันพยายามที่จะเปลี่ยนผมสีดำของบุคคลเป็นสีอื่น ฉันเลยเปลี่ยนสีตาและสีผมเป็นสีน้ำเงินซึ่งทำให้ภาพดูแปลกมาก ฉันหวังว่าฉันจะสามารถสร้างใบหน้าของตัวเองได้
แนะนำ:
Raspberry PI Vision Processor (SpartaCam): 8 ขั้นตอน (พร้อมรูปภาพ)
Raspberry PI Vision Processor (SpartaCam): ระบบประมวลผลการมองเห็น Raspberry PI สำหรับหุ่นยนต์ FIRST Robotics Competition เกี่ยวกับ FIRSTจากวิกิพีเดีย สารานุกรมเสรี https://en.wikipedia.org/wiki/FIRST_Robotics_Compe…The FIRST Robotics Competition (FRC) เป็นการแข่งขันระดับสูงระดับนานาชาติ
จับภาพและส่งภาพด้วย ESP32-Cam โดยใช้ ESP8266 WeMos D1 R1 Wifi Processor พร้อม Uno: 7 ขั้นตอน
จับภาพและส่งภาพด้วย ESP32-Cam โดยใช้ ESP8266 WeMos D1 R1 Wifi Processor พร้อม Uno: จับภาพโดยใช้ ESP32-Cam (OV2640) โดยใช้ ESP8266 WeMos D1 R1 WiFI Processor พร้อม Uno แล้วส่งไปที่อีเมล บันทึกไปที่ Google Drive แล้วส่งไปที่ Whatsapp ใช้ Twilio ข้อกำหนด: ESP8266 WeMos D1 R1 WiFI Processor พร้อม Uno (https://protosupplies
DIY Image Sensor และกล้องดิจิตอล: 14 ขั้นตอน (พร้อมรูปภาพ)
DIY Image Sensor และ Digital Camera: มีบทเรียนออนไลน์มากมายเกี่ยวกับการสร้างกล้องฟิล์มของคุณเอง แต่ฉันไม่คิดว่าจะมีอะไรเกี่ยวกับการสร้างเซ็นเซอร์ภาพของคุณเอง! เซ็นเซอร์ภาพนอกชั้นวางมีจำหน่ายจากหลายบริษัททางออนไลน์ และการใช้เซ็นเซอร์เหล่านี้จะทำให้การออกแบบ
Iron Man Reactor for Fun (จอยสติ๊ก Digital Motion Processor): 7 ขั้นตอน (พร้อมรูปภาพ)
Iron Man Reactor for Fun (จอยสติ๊ก Digital Motion Processor Joystick): สวัสดีที่รัก! นี่เป็นคำสั่งแรกของฉัน ดังนั้นหวังว่าคุณจะชอบมันและข้อเสนอแนะของคุณ! โปรเจ็กต์นี้เป็นแพลตฟอร์มแบบอินเทอร์แอคทีฟสำหรับปาร์ตี้ที่บ้าน การแข่งขัน กิจกรรม - เพื่อความสนุกสนาน นี่คือเซ็นเซอร์ตรวจจับความเคลื่อนไหวสองตัวที่ทำขึ้นในการออกแบบเครื่องปฏิกรณ์ไอรอนแมน NS
Universal, 2 Gyro Image Stabilizer: 6 ขั้นตอน (พร้อมรูปภาพ)
Universal, 2 Gyro Image Stabilizer: ระบบป้องกันภาพสั่นไหวนี้สามารถใช้กับเลนส์และกล้องใดก็ได้ มันทำงานในลักษณะเดียวกับที่กล้องโทรทรรศน์ฮับเบิลชี้ไปที่วัตถุเดียวกันในระหว่างการเปิดรับแสงหลายวัน ตัวกันโคลงนี้สามารถใช้ได้อย่างประสบผลสำเร็จด้วยการเปิดรับแสงนานปานกลางและ