1. Παραγωγή τυχαίων αριθμών: Αυτή είναι η πιο θεμελιώδης προσέγγιση. Δημιουργείτε τυχαίους αριθμούς σε ένα συγκεκριμένο εύρος και στη συνέχεια χαρτογραφήστε αυτούς τους αριθμούς σε τιμές pixel.
* Ομοιόμορφος θόρυβος: Αυτός είναι ο απλούστερος τύπος. Δημιουργείτε τυχαίους αριθμούς ομοιόμορφα κατανεμημένους μεταξύ μιας ελάχιστης και μέγιστης τιμής (π.χ. 0 και 255 για εικόνες κλίμακας 8-bit). Αυτό έχει ως αποτέλεσμα μια στίγματα εμφάνισης. Βιβλιοθήκες όπως το Numpy στο Python το κάνουν αυτό εύκολο:
`` `Python
Εισαγωγή Numpy ως NP
Εισαγωγή matplotlib.pyplot ως plt
πλάτος, ύψος =256, 256
θόρυβος =np.random.randint (0, 256, μέγεθος =(ύψος, πλάτος), dtype =np.uint8)
plt.imshow (θόρυβος, cmap ='γκρι')
plt.show ()
`` `
* Gaussian θόρυβος (κανονικός θόρυβος): Αυτό είναι πιο ρεαλιστικό καθώς προσομοιώνει τον τύπο θορύβου που συχνά βρίσκεται στους αισθητήρες εικόνας. Βασίζεται σε Gaussian (κανονική) κατανομή. Ο μέσος όρος καθορίζει τη μέση φωτεινότητα και η τυπική απόκλιση ελέγχει την ένταση του θορύβου. Το Numpy παρέχει `np.random.normal`:
`` `Python
Εισαγωγή Numpy ως NP
Εισαγωγή matplotlib.pyplot ως plt
πλάτος, ύψος =256, 256
μέση =0
stddev =30 # προσαρμογή για επίπεδο θορύβου
θόρυβος =np.random.normal (μέσος όρος, stddev, μέγεθος =(ύψος, πλάτος)). Astype (np.uint8)
θόρυβος =np.clip (θόρυβος, 0, 255) Οι τιμές #ensure είναι εντός 0-255 εύρους.
plt.imshow (θόρυβος, cmap ='γκρι')
plt.show ()
`` `
* θόρυβος αλάτι και πιπέρι: Αυτός ο τύπος εισάγει τυχαία ασπρόμαυρα εικονοστοιχεία. Μπορείτε να το επιτύχετε τυχαία επιλέγοντας εικονοστοιχεία και να ρυθμίσετε τις τιμές τους σε 0 (μαύρο) ή 255 (λευκό).
`` `Python
Εισαγωγή Numpy ως NP
Εισαγωγή matplotlib.pyplot ως plt
πλάτος, ύψος =256, 256
salt_pepper_ratio =0,1 # ποσοστό των εικονοστοιχείων που επηρεάζονται
θόρυβος =np.random.Choice ([0, 255], μέγεθος =(ύψος, πλάτος), p =[1-salt_pepper_ratio, salt_pepper_ratio])
plt.imshow (θόρυβος, cmap ='γκρι')
plt.show ()
`` `
2. Χρήση βιβλιοθηκών επεξεργασίας εικόνων: Βιβλιοθήκες όπως το OpenCV (CV2 στο Python) και το Scikit-Image παρέχουν λειτουργίες που μπορούν να προσθέσουν θόρυβο στις εικόνες απευθείας, συχνά προσφέροντας περισσότερο έλεγχο και αποτελεσματικότητα.
3. Perlin Noise (για διαδικαστικές υφές): Αυτός είναι ένας τύπος θορύβου κλίσης που χρησιμοποιείται συχνά για τη δημιουργία πιο φυσικών υφών και λιγότερο κοκκώδους θορύβου. Είναι πιο περίπλοκο να εφαρμοστεί από το μηδέν, αλλά οι βιβλιοθήκες μπορούν να το χειριστούν εύκολα.
4. Προσομοίωση συγκεκριμένων πηγών θορύβου: Για πολύ ρεαλιστικές προσομοιώσεις, ίσως χρειαστεί να μοντελοποιήσετε συγκεκριμένες πηγές θορύβου όπως ο θερμικός θόρυβος, ο θόρυβος των πυροβολισμών ή ο θόρυβος της ποσοτικοποίησης. Αυτό συχνά απαιτεί την κατανόηση των φυσικών διαδικασιών πίσω από την παραγωγή θορύβου.
Προσθήκη θορύβου σε μια υπάρχουσα εικόνα:
Μόλις δημιουργήσετε το θόρυβο, το προσθέτετε στην αρχική σας εικόνα με προσθήκη στοιχείων ή άλλες λειτουργίες. Θυμηθείτε να ρυθμίσετε την κλίμακα του θορύβου σας για να αποφύγετε την αποκοπή (τιμές που υπερβαίνουν το έγκυρο εύρος, όπως 0-255 για εικόνες 8-bit).
Η επιλογή της μεθόδου εξαρτάται από τη συγκεκριμένη εφαρμογή σας. Για απλές προσομοιώσεις, η παραγωγή τυχαίων αριθμών είναι επαρκής. Για πιο προχωρημένα σενάρια ή ρεαλιστικό θόρυβο, συνιστάται η χρήση βιβλιοθηκών επεξεργασίας εικόνων ή πιο εξελιγμένες τεχνικές παραγωγής θορύβου. Θυμηθείτε να χειριστείτε πιθανές τιμές pixel εκτός εμβέλειας μετά την προσθήκη του θορύβου.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα