Εργαλεία Χρήστη

Εργαλεία ιστότοπου


python_image_processing

Σύγκριση εκδόσεων

Εδώ βλέπετε τις διαφορές μεταξύ της επιλεγμένης έκδοσης και της τρέχουσας έκδοσης της σελίδας.

Σύνδεσμος σε αυτή την προβολή διαφορών.

Προηγούμενος έλεγχος και από τις δύο πλευρές Προηγούμενη αναθεώρηση
Επόμενη αναθεώρηση
Προηγούμενη αναθεώρηση
python_image_processing [2015/07/23 18:15]
evi
python_image_processing [2020/11/21 09:52] (τρέχουσα)
Γραμμή 2: Γραμμή 2:
  
 Στο wiki αυτό θα μάθουμε να διαχειριζόμαστε και γενικότερα επεξεργαζόμαστε πολυκάναλες εικόνες με την[[https://en.wikipedia.org/wiki/Python_(programming_language)|γλώσσα προγραμματισμού Python]]. Θα ξεκινήσουμε από απλές λειτουργίες όπως ανάγνωση εικόνας και μετατροπές της σε διάφορες τυποποιήσεις (format) και θα προχωρήσουμε σε πιο σύνθετα θέματα (φίλτρα, μορφολογικοί τελεστές, κατάτμηση) :-) Στο wiki αυτό θα μάθουμε να διαχειριζόμαστε και γενικότερα επεξεργαζόμαστε πολυκάναλες εικόνες με την[[https://en.wikipedia.org/wiki/Python_(programming_language)|γλώσσα προγραμματισμού Python]]. Θα ξεκινήσουμε από απλές λειτουργίες όπως ανάγνωση εικόνας και μετατροπές της σε διάφορες τυποποιήσεις (format) και θα προχωρήσουμε σε πιο σύνθετα θέματα (φίλτρα, μορφολογικοί τελεστές, κατάτμηση) :-)
 +
 +
 +
 +
 +
  
  
Γραμμή 22: Γραμμή 27:
 Ελεύθερα βιβλία για τη[[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/]]\\  Ελεύθερα βιβλία για τη[[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 υπάρχουν πολλοί τρόποι για να "ανοίξουμε" μια εικόνα (ή αλλιώς έναν πίνακα). Προς το παρόν, θα ασχοληθούμε μόνο με εικόνες __χωρίς__ γεωαναφορά. Στην python υπάρχουν πολλοί τρόποι για να "ανοίξουμε" μια εικόνα (ή αλλιώς έναν πίνακα). Προς το παρόν, θα ασχοληθούμε μόνο με εικόνες __χωρίς__ γεωαναφορά.
 ===Βιβλιοθήκες Numpy και Scipy=== ===Βιβλιοθήκες Numpy και Scipy===
Γραμμή 28: Γραμμή 33:
 **[[http://numpy.scipy.org/|numpy:]]** συλλογή συναρτήσεων και τύπων που αποσκοπεί στην επίλυση μαθηματικών προβλημάτων. **[[http://numpy.scipy.org/|numpy:]]** συλλογή συναρτήσεων και τύπων που αποσκοπεί στην επίλυση μαθηματικών προβλημάτων.
  
-  * Διαθέτει ένα βασικό τύπο δεδομένων, τον πολυδιάστατο πίνακα(multi-dimensional array, **ndarray**).\\  --- //[[|]] 2015/07/23 17:57//+  * Διαθέτει ένα βασικό τύπο δεδομένων, τον πολυδιάστατο πίνακα(multi-dimensional array, **ndarray**).\\ 
   * Για τoν ndarray, υπάρχουν έτοιμες ρουτίνες για αριθμητική ανάλυση, γραμμική άλγεβρα, μιγαδικούς αριθμούς, ανάλυση Fourier κλπ.\\    * Για τoν ndarray, υπάρχουν έτοιμες ρουτίνες για αριθμητική ανάλυση, γραμμική άλγεβρα, μιγαδικούς αριθμούς, ανάλυση Fourier κλπ.\\ 
   *[[http://docs.scipy.org/doc/numpy/reference/|Εδώ είναι το εγχειρίδιο αναφοράς]]   *[[http://docs.scipy.org/doc/numpy/reference/|Εδώ είναι το εγχειρίδιο αναφοράς]]
Γραμμή 36: Γραμμή 41:
 ==Παράδειγμα πράξεων πινάκων== ==Παράδειγμα πράξεων πινάκων==
  
-  ### Αrray operations with numpy+  #Αrray operations with numpy
   import numpy as np   import numpy as np
   a = np.array([20,30,40,50])   a = np.array([20,30,40,50])
   b = np.array([0,1,2,3])   b = np.array([0,1,2,3])
   # array subtraction   # array subtraction
-  c = a=b+  c = a-b
   c   c
   array([20,29,38,47])   array([20,29,38,47])
  
-===Εισαγωγή και απεικόνιση τηλεπισκοπικών εικόνων=== 
  
 +
 +
 +===== Εισαγωγή και απεικόνιση εικόνων =====
 +  - Στην python, μια εικόνα μπορεί να φορτωθεί σε τύπο δεδομένων array και εφόσον φορτωθεί μπορόυν να πραγματοποιηθούν διάφορες μαθηματικές πράξεις με τα δεδομένα των εικόνων, για όλα τα κανάλια και για όλα τα εικονοστοιχεία.
 +  - Εναλλακτικά, υπάρχει μια πιο εξειδικευμένη βιβλιοθήκη επεξεργασίας εικόνας που ονομάζεται **PIL**(Python Image Library), η οποία υποστηρίζει περισσότερα πρότυπα (format) εικόνων και διαθέτει επιπλέον αλγορίθμους επεξεργασίας εικόνας. Η βιβλιοθήκη αυτή δεν λειτουργεί με τύπους array, αλλά διαθέτει έναν πιο ειδικό (και πιο γρήγορο) τύπο __Image__.[[http://www.pythonware.com/library/pil/handbook/]]
   - **Προσοχή**: Οι βιβλιοθήκες **scipy** και **PIL** __δεν__ μπορούν να εισάγουν πολυφασματικά δεδομένα ή εικόνες που έχουν γεωαναγορά.   - **Προσοχή**: Οι βιβλιοθήκες **scipy** και **PIL** __δεν__ μπορούν να εισάγουν πολυφασματικά δεδομένα ή εικόνες που έχουν γεωαναγορά.
-  - Ωστόσο, μπορούμε να διαβάσουμε τηλεπισκοπικές εικόνες με PIL ή scipy που έχουν 3 ή 1 φασματικά κανάλια, ειδικά αν η εικόνα δεν έχει γεωαναφορά. +  - Ωστόσο, μπορούμε να διαβάσουμε τηλεπισκοπικές εικόνες με PIL ή scipy που έχουν 3 ή 1 φασματικά κανάλια, αν η εικόνα δεν έχει γεωαναφορά. (Η πλέον κατάλληλη βιβλιοθήκη για ανάγνωση και εγγραφή τηλεπισκοπικών εικόνων είναι η [[www.gdal.org|GDAL]].)
-  - Η πλέον κατάλληλη βιβλιοθήκη για ανάγνωση και εγγραφή τηλεπισκοπικών εικόνων είναι η **GDAL**.+
   - Η βιβλιοθήκη **matplotlib** είναι μια από τις πιο ευέλικτες και εύχρηστες βιβλιοθήκες για απεικόνιση γραφημάτων (όπως πχ. ιστογραμμάτων) αλλά και εικόνων.   - Η βιβλιοθήκη **matplotlib** είναι μια από τις πιο ευέλικτες και εύχρηστες βιβλιοθήκες για απεικόνιση γραφημάτων (όπως πχ. ιστογραμμάτων) αλλά και εικόνων.
 +Διάβασμα εικόνας με τη scipy:
 +  import scipy as sp
 +  file = 'test.jpg'
 +  img = sp.misc.imread(file)
 +Διάβασμα εικόνας με την PIL και στροφή εικόνας:
 +  from PIL import Image
 +  img = Image.open('test.jpg')
 +  # στροφή και απεικόνιση εικόνας (45 μοίρες στροφή)
 +  img.rotate(45).show() 
 +Διαστάσεις εικόνας:
 +  # Get image dimensions
 +  img.shape
 +Απεικόνιση εικόνας με την matplotlib:
 +  # Show the image
 +  import matplotlib.pyplot as plt
 +  plt.imshow(img)
 +  plt.show()
 +Αποθήκευση εικόνας σε format της επιλογής μας:
 +  # Save the image in a format of our choice
 +  import scipy as sp
 +  sp.misc.imsave('test.tif',img)
  
  
python_image_processing.1437675339.txt.gz · Τελευταία τροποποίηση: 2020/11/21 09:52 (εξωτερική τροποποίηση)