Სარჩევი:

GET1033 პითონის კოდირებული გამოსახულების პროცესორი: 5 ნაბიჯი
GET1033 პითონის კოდირებული გამოსახულების პროცესორი: 5 ნაბიჯი

ვიდეო: GET1033 პითონის კოდირებული გამოსახულების პროცესორი: 5 ნაბიჯი

ვიდეო: GET1033 პითონის კოდირებული გამოსახულების პროცესორი: 5 ნაბიჯი
ვიდეო: GET1033 Final Project - Alternative Route Planner 2024, ნოემბერი
Anonim
GET1033 პითონის კოდირებული სურათის პროცესორი
GET1033 პითონის კოდირებული სურათის პროცესორი

ეს პროექტი არის ჩემი მოდულისთვის ჩემი პითონის კოდირებული გამოსახულების პროცესორის შექმნა, GET1033 გამოთვლითი მედიაწიგნიერების შესწავლა. თავდაპირველად, მომხმარებელს დასჭირდება საკუთარი ფოტოს შეყვანა და შემდეგ მისთვის სასურველი ფილტრების არჩევა. მე შევქმენი 9 ფილტრი, რომლებიც არის: აჩვენეთ შეყვანის სურათი, სარკე, განათავსეთ ზურგს უკან, განათავსეთ გამჭვირვალე ზოლი, შემოხაზული სურათი, დაბინდვა, როტაცია, ფერის შეცვლა და Photoshop. ერთი მათგანის არჩევის შემდეგ, გამომავალ სურათს ექნება ეფექტი. როგორც სურათზეა ნაჩვენები, ეს არის ფილტრი ფერის შესაცვლელად, სადაც მე ვამჩნევ სურათზე მწვანე ფერის პიქსელებს და ვაქცევ მათ ვარდისფერ ფერს.

ნაბიჯი 1: შექმნის პროცესი

მიღების პროცესი
მიღების პროცესი

ნაბიჯი 1: ჩამოტვირთეთ პითონი აქედან!

ნაბიჯი 2: კოდირება!

უპირველეს ყოვლისა, მე შემოვიტანე რამდენიმე პაკეტი წინასწარ კოდირებული ფუნქციით, რომელიც ხელმისაწვდომია კოდში გამოსაყენებლად. პაკეტები, რომლებიც შემოვიღე არის Scipy, Matplot და Numpy.

Scipy– სთვის შემოვიტანე სხვადასხვა რუტინა (MISC) და სურათის მრავალგანზომილებიანი დამუშავება (NDIMAGE). MISC არის სურათის წაკითხვისა და შენახვისთვის, ხოლო NDIMAGE არის გაუსის ფილტრის შესასრულებლად და ბრუნვისთვის.

Matplotlib– ისთვის ეს არის ბიბლიოთეკა პითონში გრაფიკის შედგენისთვის, რომელიც უზრუნველყოფს MATLAB– ის მსგავს ინტერფეისს.

ნუმპისთვის ეს არის ბიბლიოთეკა, რომელსაც შეუძლია დიდი, მრავალგანზომილებიანი მასივებისა და მატრიცების მხარდაჭერა. Numpy მნიშვნელოვანია, რადგან ის მაძლევს საშუალებას შეცვალონ წითელი, მწვანე და ლურჯი (RGB) სურათების მასივი ეფექტურად, როდესაც მასივს ვამატებ ან ვამრავლებ. მაგალითად, A = [0, 1, 2] და ნუმპის არსებობით, 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', მთელი პროგრამა გადატვირთული იქნება და მომხმარებელს სთხოვს სურათის კვლავ ატვირთვა. თუ მომხმარებელი შეიყვანეს 'Q', პროგრამა გამოდის მარყუჟიდან.

ნაბიჯი 3: რას აკეთებს ის?

ამ პროექტში სულ არის 9 ფილტრი, რომელიც მე შევქმენი, კერძოდ

1. აჩვენეთ შეყვანის სურათი - აჩვენეთ ატვირთული სურათი

2. სარკისებური გამოსახულება - ობიექტის ასახული დუბლირება, მაგრამ გადატრიალებულია მიმართულებით

3. განათავსეთ ზურგს უკან - შავი ვერტიკალური ზოლების ჩასმა სიგანით და ინტერვალით 50 პიქსელის ტოლი.

4. განათავსეთ გამჭვირვალე ზოლის უკან - გამჭვირვალე ვერტიკალური ზოლების ჩასმა სიგანით და ინტერვალით 50 პიქსელის ტოლი

5. წრის სურათი - გააკეთეთ წრე სურათის ცენტრში

6. დაბინდვა - სურათის დაბინდვა

7. როტაცია - გამოსახულების 45 გრადუსით ბრუნვა

8. ფერის შეცვლა - მწვანე ფერის ვარდისფერი ფერის შესაცვლელად

9. Photoshop - სურათის ნაწილის სხვა სურათის შესაცვლელად

ნაბიჯი 4: რატომ გავაკეთე ეს?

ადრე, მე მაინტერესებს როგორ გამოჩნდა ინსტაგრამმა და სნეპჩატმა სურათების ფილტრები, რამაც ისინი ასე საინტერესო გახადა. გაძლიერებული რეალობის შესახებ ლექციისა და გაკვეთილის შემდეგ, მინდოდა გამეკეთებინა რაიმე მასთან დაკავშირებული, მაგრამ მინდა დავიწყო ძირითადიდან, რაც არის სურათის დამუშავება, რადგან მე სუსტი ვარ პროგრამირებაში და მსურს ვისწავლო პითონის კოდირება.

ნაბიჯი 5: გაუმჯობესება და რას გააკეთებს მომავალი ვერსიები?

ამ პროექტის ერთ -ერთი გაუმჯობესება არის პითონის გამოყენებით პირდაპირ ვიდეოებში ჩემი სახის ფილტრების შექმნა. შევეცადე ამის კოდირება, მაგრამ ვერც ერთ მათგანს ვერ მივაღწიე პროგრამირების ცოდნისა და დროის შეზღუდვის გამო. გარდა ამისა, გამოსახულების პროცესორი შეიძლება იყოს "ჭკვიანი", სადაც მას შეუძლია ავტომატურად აღმოაჩინოს ფერები და შეცვალოს ის ნაწილები, რაც ჩვენ გვსურს. არის დრო, როდესაც მე ვცდილობ შევიცვალო ადამიანის შავი თმა სხვა ფერში. მე საბოლოოდ ვცვლი თვალისა და თმის ფერს ლურჯად, რაც სურათს ძალიან უცნაურს ხდის. ვიმედოვნებ, რომ შევძლებ საკუთარი სახის შექმნას

გირჩევთ: