Στο wiki αυτό θα μάθουμε να διαχειριζόμαστε και γενικότερα επεξεργαζόμαστε πολυκάναλες εικόνες με τηνγλώσσα προγραμματισμού Python. Θα ξεκινήσουμε από απλές λειτουργίες όπως ανάγνωση εικόνας και μετατροπές της σε διάφορες τυποποιήσεις (format) και θα προχωρήσουμε σε πιο σύνθετα θέματα (φίλτρα, μορφολογικοί τελεστές, κατάτμηση)
Ελεύθερα βιβλία για τηγλώσσα προγραμματισμού 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: είναι συμπληρωματική της numpy και παρέχει ρουτίνες και αλγορίθμους για πιο σύνθετες επιστημονικές διαδικασίες όπως:
* Γραμμική παλινδρόμηση
* Φίλτρα
* Ανάλυση σήματος
* Μαθηματική Μορφολογία
* Ανάλυση εικόνας
* Στατιστική, και πολλά άλλα.
*Εδώ είναι το εγχειρίδιο αναφοράς
#Α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:
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)