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

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


python_image_processing

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

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

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

Προηγούμενος έλεγχος και από τις δύο πλευρές Προηγούμενη αναθεώρηση
Επόμενη αναθεώρηση
Προηγούμενη αναθεώρηση
python_image_processing [2015/07/23 17:47]
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) και θα προχωρήσουμε σε πιο σύνθετα θέματα (φίλτρα, μορφολογικοί τελεστές, κατάτμηση) :-)
 +
 +
 +
 +
 +
 +
 +
 +
  
  
Γραμμή 16: Γραμμή 24:
  
 =====Εισαγωγή===== =====Εισαγωγή=====
 +
 Ελεύθερα βιβλία για τη[[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: Γραμμή 37:
   *[[http://docs.scipy.org/doc/numpy/reference/|Εδώ είναι το εγχειρίδιο αναφοράς]]   *[[http://docs.scipy.org/doc/numpy/reference/|Εδώ είναι το εγχειρίδιο αναφοράς]]
  
-**[[http://www.scipy.org/|scipy:]]** είναι συμπληρωματική της numpy και παρέχει ρουτίνες και αλγορίθμους για πιο σύνθετες επιστημονικές διαδικασίες όπως\\ * Γραμμική παλινδρόμηση\\ * Φίλτρα\\ * Ανάλυση σήματος\\ * Μαθηματική Μορφολογία\\ * Ανάλυση εικόνας\\ * Στατιστική, και πολλά άλλα.\\ *[[http://docs.scipy.org/doc/scipy/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]) 
 + 
 + 
 + 
 + 
 +===== Εισαγωγή και απεικόνιση εικόνων ===== 
 +  - Στην python, μια εικόνα μπορεί να φορτωθεί σε τύπο δεδομένων array και εφόσον φορτωθεί μπορόυν να πραγματοποιηθούν διάφορες μαθηματικές πράξεις με τα δεδομένα των εικόνων, για όλα τα κανάλια και για όλα τα εικονοστοιχεία. 
 +  - Εναλλακτικά, υπάρχει μια πιο εξειδικευμένη βιβλιοθήκη επεξεργασίας εικόνας που ονομάζεται **PIL**(Python Image Library), η οποία υποστηρίζει περισσότερα πρότυπα (format) εικόνων και διαθέτει επιπλέον αλγορίθμους επεξεργασίας εικόνας. Η βιβλιοθήκη αυτή δεν λειτουργεί με τύπους array, αλλά διαθέτει έναν πιο ειδικό (και πιο γρήγορο) τύπο __Image__.[[http://www.pythonware.com/library/pil/handbook/]] 
 +  - **Προσοχή**: Οι βιβλιοθήκες **scipy** και **PIL** __δεν__ μπορούν να εισάγουν πολυφασματικά δεδομένα ή εικόνες που έχουν γεωαναγορά. 
 +  - Ωστόσο, μπορούμε να διαβάσουμε τηλεπισκοπικές εικόνες με PIL ή scipy που έχουν 3 ή 1 φασματικά κανάλια, αν η εικόνα δεν έχει γεωαναφορά. (Η πλέον κατάλληλη βιβλιοθήκη για ανάγνωση και εγγραφή τηλεπισκοπικών εικόνων είναι η [[www.gdal.org|GDAL]].) 
 +  - Η βιβλιοθήκη **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.1437673661.txt.gz · Τελευταία τροποποίηση: 2020/11/21 09:52 (εξωτερική τροποποίηση)