|
|
python_image_processing [2015/07/23 18:15] evi |
python_image_processing [2020/11/21 09:52] |
======Διαχείριση και επεξεργασία εικόνας στην γλώσσα προγραμματισμού Python====== | |
| |
Στο wiki αυτό θα μάθουμε να διαχειριζόμαστε και γενικότερα επεξεργαζόμαστε πολυκάναλες εικόνες με την[[https://en.wikipedia.org/wiki/Python_(programming_language)|γλώσσα προγραμματισμού Python]]. Θα ξεκινήσουμε από απλές λειτουργίες όπως ανάγνωση εικόνας και μετατροπές της σε διάφορες τυποποιήσεις (format) και θα προχωρήσουμε σε πιο σύνθετα θέματα (φίλτρα, μορφολογικοί τελεστές, κατάτμηση) :-) | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
=====Εισαγωγή===== | |
| |
Ελεύθερα βιβλία για τη[[https://en.wikipedia.org/wiki/Python_(programming_language)|γλώσσα προγραμματισμού Python]] στο διαδίκτυο:\\ i. A Bite of Python:[[http://www.swaroopch.com/notes/Python]]\\ ii. Dive into Python:[[http://www.diveintopython.net/]]\\ iii. Ελληνική κοινότητα Python:[[http://python.org.gr/]]\\ | |
| |
Αρχικά να σημειωθεί, όπως μάλλον είναι γνωστό:-), ότι μια εικόνα είναι ένα πλέγμα (πίνακας) με τιμές φωτεινότητας.\\ | |
Στην python υπάρχουν πολλοί τρόποι για να "ανοίξουμε" μια εικόνα (ή αλλιώς έναν πίνακα). Προς το παρόν, θα ασχοληθούμε μόνο με εικόνες __χωρίς__ γεωαναφορά. | |
===Βιβλιοθήκες Numpy και Scipy=== | |
| |
**[[http://numpy.scipy.org/|numpy:]]** συλλογή συναρτήσεων και τύπων που αποσκοπεί στην επίλυση μαθηματικών προβλημάτων. | |
| |
* Διαθέτει ένα βασικό τύπο δεδομένων, τον πολυδιάστατο πίνακα(multi-dimensional array, **ndarray**).\\ --- //[[|]] 2015/07/23 17:57// | |
* Για τoν ndarray, υπάρχουν έτοιμες ρουτίνες για αριθμητική ανάλυση, γραμμική άλγεβρα, μιγαδικούς αριθμούς, ανάλυση Fourier κλπ.\\ | |
*[[http://docs.scipy.org/doc/numpy/reference/|Εδώ είναι το εγχειρίδιο αναφοράς]] | |
| |
**[[http://www.scipy.org/|scipy:]]** είναι συμπληρωματική της numpy και παρέχει ρουτίνες και αλγορίθμους για πιο σύνθετες επιστημονικές διαδικασίες όπως: \\ * Γραμμική παλινδρόμηση\\ * Φίλτρα\\ * Ανάλυση σήματος\\ * Μαθηματική Μορφολογία\\ * Ανάλυση εικόνας\\ * Στατιστική, και πολλά άλλα.\\ *[[http://docs.scipy.org/doc/scipy/reference/|Εδώ είναι το εγχειρίδιο αναφοράς]] | |
| |
==Παράδειγμα πράξεων πινάκων== | |
| |
### Αrray operations with numpy | |
import numpy as np | |
a = np.array([20,30,40,50]) | |
b = np.array([0,1,2,3]) | |
# array subtraction | |
c = a=b | |
c | |
array([20,29,38,47]) | |
| |
===Εισαγωγή και απεικόνιση τηλεπισκοπικών εικόνων=== | |
| |
- **Προσοχή**: Οι βιβλιοθήκες **scipy** και **PIL** __δεν__ μπορούν να εισάγουν πολυφασματικά δεδομένα ή εικόνες που έχουν γεωαναγορά. | |
- Ωστόσο, μπορούμε να διαβάσουμε τηλεπισκοπικές εικόνες με PIL ή scipy που έχουν 3 ή 1 φασματικά κανάλια, ειδικά αν η εικόνα δεν έχει γεωαναφορά. | |
- Η πλέον κατάλληλη βιβλιοθήκη για ανάγνωση και εγγραφή τηλεπισκοπικών εικόνων είναι η **GDAL**. | |
- Η βιβλιοθήκη **matplotlib** είναι μια από τις πιο ευέλικτες και εύχρηστες βιβλιοθήκες για απεικόνιση γραφημάτων (όπως πχ. ιστογραμμάτων) αλλά και εικόνων. | |
| |
| |
| |
| |
| |