Απλή Ζωή

Χρήση του Computer Vision για τη μετατροπή εικόνων σε ακουαρέλα

Η κύρια διαφορά μεταξύ Γκαουσιανό φιλτράρισμα και Διμερές φιλτράρισμα εικόνας είναι ότι στο gaussian blur θα λειτουργεί μόνο με το θόλωμα της εικόνας, δηλαδή λαμβάνονται υπόψη μόνο κενά (δεν διατηρούνται γωνίες) αλλά εδώ το διμερές φιλτράρισμα, θα εργαστούμε με το Γκαουσιανός πυρήνας της εικόνας η οποία με τη σειρά της θα εστιάσει στην πιο έντονη εικόνα και θα διατηρήσει και τις γωνίες.

image_filtered = cv2.bilateralFilter(image_cleared, 3, 10, 5)

for i in range(2):
    image_filtered = cv2.bilateralFilter(image_filtered, 3, 20, 10)

for i in range(3):
    image_filtered = cv2.bilateralFilter(image_filtered, 5, 30, 10)

Ανάλυση κώδικα

Πριν αναλύσουμε τον κώδικα, πρέπει να καταλάβουμε γιατί χρησιμοποιούμε βρόχους για διμερές φιλτράρισμα; Απάντηση: Γιατί αν αυξήσουμε την τιμή της παραμέτρου ταυτόχρονα, τότε αντί για τέχνη ακουαρέλας θα πάρουμε το εικόνα κινουμένων σχεδίων που δεν είναι ο στόχος μας, επομένως εφαρμόζουμε το φιλτράρισμα σε βρόχους και σταδιακά αυξάνουμε την τιμή του χώρου σίγμα.

Παράμετροι του Bilateral filtering:

  1. Πηγή: Εικόνα πηγής που πρέπει να φιλτραριστεί.
  2. ΡΕ: D είναι η τιμή της διαμέτρου κάθε pixel (εδώ 3/5).
  3. Χρώμα Sigma: Όσο μεγαλύτερη θα είναι η τιμή του χρώματος σίγμα, τόσο πιο μακριά θα αναμειχθεί το χρώμα.
  4. Sigma Space: Όσο μεγαλύτερη θα είναι η αξία του χώρου σίγμα, τόσο το χρώμα στον ευρύτερο χώρο θα αρχίσει να αναμειγνύεται.

Φάση 4: Συντονισμός της τέχνης – Ακονίζοντας την εικόνα

Όταν λοιπόν κάναμε αίτηση διμερές φιλτράρισμα συνήθιζε να θολώνει την εικόνα, αν και διατηρούσε τη γωνία της εικόνας και τη μετέτρεπε σε μορφή θαμπώματος, ώστε να την αφαιρέσουμε και να έχουμε πιο καθαρό αποτέλεσμα που χρησιμοποιούσαμε οξύνει την εικόνα.

gaussian_mask= cv2.GaussianBlur(image_filtered, (7,7), 2)
image_sharp = cv2.addWeighted(image_filtered, 1.5, gaussian_mask, -0.5, 0)
image_sharp = cv2.addWeighted(image_sharp, 1.4, gaussian_mask, -0.2, 10)

Ανάλυση κώδικα:

  1. Πρώτα με τη βοήθεια του Gaussian Blur μόνο θα αφαιρέσουμε το μέρος της εικόνας για να πάρουμε το γκαουσιανή μάσκα.
  2. Τότε με την παραπάνω μάσκα Gauss, θα είμαστε ακόνισμα την εικόνα χρησιμοποιώντας και σταθμισμένο() συνάρτηση και αν παρατηρήσετε την παράμετρο, δοκιμάζουμε διαφορετικές τιμές άλφα και γάμμα για να έχετε τα επιθυμητά αποτελέσματα.

Εμφάνιση εικόνων με χρήση του Computer Vision

plt.figure(figsize=[30,30])
plt.subplot(131);plt.imshow(im[:,:,::-1]);plt.title("Final Image");plt.axis('off');
plt.subplot(132);plt.imshow(image_cleared[:,:,::-1]);plt.title("Clear Impurities");plt.axis('off');
plt.subplot(133);plt.imshow(image[:,:,::-1]);plt.title("Original");plt.axis('off');
  Computer Vision
Τέχνη ακουαρέλας
  Computer Vision
  Computer Vision

Πηγή αρχικής εικόνας: Dreamstime

Ανάλυση κώδικα

Όπως έχουμε ήδη συζητήσει τη σχεδίαση της εικόνας προηγουμένως στο άρθρο, μπορούμε να αναφερθούμε σε αυτό. Υπάρχει μόνο ένα σημείο που πρέπει να σημειωθεί σε αυτό το μέρος που είναι μια υποπλοκή που χωρίζει το τμήμα της εικόνας σε τρία μέρη:

  1. Τελική εικόνα
  2. Καθαρίστε τις ακαθαρσίες
  3. Αρχική εικόνα (ταυτόχρονα)

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button