THMMY.gr

Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών => Ψηφιακή Επεξεργασία Εικόνας => Topic started by: Ragnar Lothbrok on March 24, 2017, 11:32:30 am



Title: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Ragnar Lothbrok on March 24, 2017, 11:32:30 am
Η  εκφώνηση  της  Εργασίας  #1  έχει  αναρτηθεί  στην  ενότητα  "Υλικό  μαθήματος", στο eTHMMY.
Προθεσμία  υποβολής:  07/04/2017


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Gaara on March 25, 2017, 20:52:17 pm
Από το 1ο ερώτημα σύμφωνα με αυτό " επιστρέφει εικόνα διάστασης (M,N) σε μορφή RGB " ζητάει και resize έτσι?


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: lodi on March 26, 2017, 12:28:04 pm
ουστιαστικά θα γίνει το resize έμμεσα . Όπως κατάλαβα , πρέπει να φτιάξουμε έναν νέο πίνακα από την αρχή με στοιχεία (Μ,Ν) , καθορίζοντας ένα ένα τα στοιχεία του.
  Για να βρούμε το κοντινότερο , υπάρχει καμιά συνάρτηση έτοιμη στο matlab ή το υλοποιούμε εμείς ;


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Ragnar Lothbrok on March 26, 2017, 14:18:39 pm
Όσον αφορά τη μέθοδο της διγραμμικής παρεμβολής, έστω ότι ψάχνουμε να βρούμε τη τιμή του πρασίνου, σε ένα τυχαίο σημείο πάνω στο πλέγμα, το οποίο δεν πέφτει πάνω ακριβώς σε κάποιους από τους αισθητήρες. Θα βρούμε τις τιμές των δύο κοντινότερων πρασίνων στον χ-αξονα και των δυο κοντιότερων πρασίνων στον y-αξονα, και θα πάρουμε γραμμική παρεμβολή σε εκείνο το σημείο;


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: pansakk on March 27, 2017, 19:12:18 pm
Πως υπολογίζετε την απόσταση από τον κοντινότερο σημείο?


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: ΒruteΦorce_attack on March 27, 2017, 20:47:03 pm
Όσον αφορά τη μέθοδο της διγραμμικής παρεμβολής, έστω ότι ψάχνουμε να βρούμε τη τιμή του πρασίνου, σε ένα τυχαίο σημείο πάνω στο πλέγμα, το οποίο δεν πέφτει πάνω ακριβώς σε κάποιους από τους αισθητήρες. Θα βρούμε τις τιμές των δύο κοντινότερων πρασίνων στον χ-αξονα και των δυο κοντιότερων πρασίνων στον y-αξονα, και θα πάρουμε γραμμική παρεμβολή σε εκείνο το σημείο;

Κι εγώ έχω μπερδευτεί λίγο με αυτή τη μέθοδο .. μπορεί κάποιος να που κατάλαβε να βοηθήσει;

https://en.wikipedia.org/wiki/Bilinear_interpolation#Application_in_image_processing

αρκετά βοηθητικό


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: duchess on March 28, 2017, 03:08:08 am
Ξέρει κανείς τι χρειάζεται από θεωρία για την 1η εργασία; Ποια κεφάλαια του βιβλίου διαβάζουμε;


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Indy on March 28, 2017, 17:58:08 pm
Απ' ό,τι καταλαβαίνω η bayer2rgb θα πρέπει να επιστρέφει 3 grids (ένα για κάθε χρώμα), άρα ένα πίνακα 3 στοιχείων, όπου κάθε στοιχείο θα είναι και ένα grid, σωστά; Αν όχι τί θα επιστρέφει;


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Goemon on March 28, 2017, 20:17:42 pm
Βγήκε εργασία 1 v2 στο ethmmy.... Για όσους δεν το πρόσεξαν


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Gaara on March 28, 2017, 23:08:30 pm
Ωραιος, οπότε δεν έχουμε resize.

Επισης, το bayer filter πρεπει να ειναι 'gbrg' και οχι 'grbg' όπως ειναι στην εκφώνηση. Τουλάχιστον γιαυτο το grid εμφανίζεται η είκονα σε φυσιολογικά χρώματα με την demosaic (την οποία δεν μπορούμε να χρησιμοποιήσουμε).

https://www.mathworks.com/help/images/ref/demosaic.html#inputarg_sensorAlignment


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: BADBANE on March 29, 2017, 04:07:30 am
Ωραιος, οπότε δεν έχουμε resize.

Επισης, το bayer filter πρεπει να ειναι 'gbrg' και οχι 'grbg' όπως ειναι στην εκφώνηση. Τουλάχιστον γιαυτο το grid εμφανίζεται η είκονα σε φυσιολογικά χρώματα με την demosaic (την οποία δεν μπορούμε να χρησιμοποιήσουμε).

https://www.mathworks.com/help/images/ref/demosaic.html#inputarg_sensorAlignment

Γιατι λες οτι δεν εχουμε resize? Εγω στο μυαλο μου εχω οτι μονο στην περιπτωση οπου θα δωθουν ΜΧΝ ιδια με τα Μ0ΧΝ0 δεν θα εχουμε resize.

Επίσης γτ gbrg και όχι grbg αφου έτσι δείχνει το μοτιβο  :(


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Gaara on March 29, 2017, 08:08:38 am
"Επίσης θεωρείστε ότι οι φυσικές διαστάσεις της εικόνας δεν μεταβάλλονται" εδω στηρίζω οτι δεν κάνουμε resize.
Αν και εδώ φαίνεται να ζητάει resize "και επιστρέφει εικόνα διάστασης (M,N) σε μορφή RGB".

Έβαλα στην demosaic το φιλτρο Bayer ως εχει, συμφωνα με το documentation της demosaic και τα χρωματα ήταν off.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: thanospr on March 29, 2017, 11:56:54 am
Μπορει καποιος να ανεβασει την φωτογραφια που του βγαζει η πρωτη συναρτηση bayer2rgb;


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: BADBANE on March 29, 2017, 18:39:09 pm
"Επίσης θεωρείστε ότι οι φυσικές διαστάσεις της εικόνας δεν μεταβάλλονται" εδω στηρίζω οτι δεν κάνουμε resize.
Αν και εδώ φαίνεται να ζητάει resize "και επιστρέφει εικόνα διάστασης (M,N) σε μορφή RGB".

Έβαλα στην demosaic το φιλτρο Bayer ως εχει, συμφωνα με το documentation της demosaic και τα χρωματα ήταν off.

Εγώ κατάλαβα οτι δεν θέλουμε να αλλάξει το ratio. Ή ισως και οτι η εισοδος θα είναι παντα αυτή του march.mat 960x1280

Μμμ κατάλαβα, θα το τεστάρω και γω θενκς!


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Gaara on March 29, 2017, 19:17:48 pm
Το ratio εχει περισσοτερο νοημα.
Γιατι να μην εγραφε ratio όμως ή έστω "ο λόγος των διαστάσεων να παραμένει σταθερός"? Anyhow



Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Gaara on March 29, 2017, 19:20:27 pm
Μπορει καποιος να ανεβασει την φωτογραφια που του βγαζει η πρωτη συναρτηση bayer2rgb;

Κάτι τέτοιο να περιμένεις

http://i.imgur.com/n9VhroA.png


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: abadasa13 on March 30, 2017, 17:40:07 pm
Επισης, το bayer filter πρεπει να ειναι 'gbrg' και οχι 'grbg' όπως ειναι στην εκφώνηση. Τουλάχιστον γιαυτο το grid εμφανίζεται η είκονα σε φυσιολογικά χρώματα με την demosaic (την οποία δεν μπορούμε να χρησιμοποιήσουμε).

https://www.mathworks.com/help/images/ref/demosaic.html#inputarg_sensorAlignment

Ρε σεις, έκανα τον αλγόριθμο nearest neighbor και πρακτικά γίνεται αυτό που λες! Έτσι όπως παρουσιάζεται το φίλτρο σην εκφώνηση, τα λουλούδια βγαίνουν μπλε! Αν αλλάξω το κόκκινο με το μπλε βγαίνει η εικόνα με κόκκινα λουλούδια και πιο φυσιολογικά χρώματα! Ξέρει κανείς κάτι; Τα έλεγξα 100 φορές δε νομίζω ότι έκανα λάθος. Εσάς πώς σας βγήκε; Μου διαφεύγει κάτι;

EDIT: Σε αυτό το link σε κάποια σημεία εμφανίζεται το μπλε στη θέση του κόκκινου και αντίστροφα. Υποθέτω ότι έχει λάθος η εκφώνηση, ή τα στοιχεία της εικόνας, δε νομίζω να είμαι τόσο εκτός.
https://en.wikipedia.org/wiki/Bayer_filter (https://en.wikipedia.org/wiki/Bayer_filter)


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Gaara on March 30, 2017, 20:30:17 pm
Το υλοποιησα και γω αλλάζωντας θεση το κοκκινο με το μπλε. Το bayer ειναι λάθος στην εκφώνηση.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Goemon on March 30, 2017, 21:19:18 pm
+1 Για το bayer που είναι αναποδιάρικο.

Έστειλα μέιλ στο Ντελόπουλο να διευκρινίσει για το resize. Την κόβω πως θέλει γενικά, καθώς η υπόλοιπη εργασία βγαίνει σε 2 ώρες.

Το "Οι φυσικές διαστάσεις της εικόνας διατηρούνται", μάλλον αναφέρεται στο aspect ratio πιστεύω και εγώ, καθώς και στον πίνακα πλέγματος που ζητάει στην αναφορά (κάνοντας resize, αλλάζει ουσιαστικά το dots-per-inch, όπου σε inches μετριέται η φυσική διάσταση της εικόνας ξέρω γω....)

Όταν απαντήσει θα σας πω


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Goemon on March 30, 2017, 22:20:16 pm
Θέλει resize  :D


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: abadasa13 on March 31, 2017, 13:33:37 pm
Τελικά δηλαδή δεχόμαστε ότι η march.mat έχει διαστάσεις Μο,Νο και ζητείται νέα εικόνα διαστάσεων M,N με Μ/Μο = Ν/Νο = ratio; Επίσης, το resize πρέπει να γίνεται καθώς λειτουργεί ο αλγόριθμος της παρεμβολής ή πρώτα σχηματίζουμε την εικόνα Μο,Νο και μετά resize; Ή δεν παίζει ρόλο;

Εξαιρετική εκφώνηση.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: gdims on March 31, 2017, 14:32:35 pm
Λοιπόν παίδες, επειδή μίλησα με τον Παπαπαναγιώτου έχουμε τα εξής:

Το ότι οι φυσικές διαστάσεις της εικόνας δεν αλλάζουν, δεν φαίνεται να παίζει κάποιο ρόλο.
Ίσως είναι βοηθητικό να σκεφτόμαστε δύο πλέγματα ίδιων φυσικών διαστάσεων διαφορετικής χωρικής πυκνότητας το ένα πάνω στο άλλο.
Ίσως για να μη μπερδευτούμε με PPI και λοιπά.

Όταν τον ρώτησα, μου απάντησε:
Quote
Οι φυσικές διαστάσεις της εικόνας είναι το μήκος και το πλάτος της, μετρούμενο σε μονάδες μήκους (πχ μέτρα). Τα M_0 x N_0 και M x N αναφέρονται στην ανάλυση της εικόνας, μετρούμενη σε pixels. Οι φυσικές διαστάσεις παραμένουν ίδιες, αλλάζει η ανάλυση. Και επίσης ζητείται και το πλέγμα δειγματοληψίας.

Ναι, υπάρχει resize και κατά τη γνώμη μου δεν είναι προυπόθεση να μην αλλάζουν οι αναλογίες. Θα το έλεγε.

Επίσης, σχετικά με το scaling και τον χρωματισμό, είπε:
Quote
Το σωστό είναι να γίνουν ταυτόχρονα, υπολογίζοντας τις τιμές της φωτεινότητας στο καινούργιο grid M x N κάνοντας παρεμβολή από το αρχικό grid M_0 x N_0.

Εγώ προσπάθησα πάρα πολύ να το κάνω vectorized και δεν το καταφέρνω.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Gaara on March 31, 2017, 14:45:50 pm
Αρα θέλει κανονικό resize.
Οκ, οπότε να κανουμε resize το αρχικο grid(αφού αναφέρει την φωτεινότητα*) και μετα να κανουμε demosaic.

αν και *Ο χειρισμός κάθε καναλιού (χρώματος) θα είναι ανεξάρτητος.




Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: gdims on March 31, 2017, 15:14:22 pm
Αρα θέλει κανονικό resize.
Οκ, οπότε να κανουμε resize το αρχικο grid(αφού αναφέρει την φωτεινότητα*) και μετα να κανουμε demosaic.

αν και *Ο χειρισμός κάθε καναλιού (χρώματος) θα είναι ανεξάρτητος.




Νομίζω πως πρέπει να δημιουργήσεις κενό grid MxN για κάθε χρώμα.
Και να το γεμίσεις με βάση τις μεθόδους παρεμβολής που ζητούνται.
Δημιουργώντας νέο κενό grid MxN δεν έχεις κάνει resize το αρχικό.
Η φωτεινότητα που λες δεν είναι παρά η φωτεινότητα κάθε χρώματος.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: isitsou on March 31, 2017, 22:23:17 pm
Ξέρει κανείς τι χρειάζεται από θεωρία για την 1η εργασία; Ποια κεφάλαια του βιβλίου διαβάζουμε;

Για το πρώτο μέρος της εργασίας ρίξε μια ματιά στην "παρεμβολή εικόνας" Κεφ:2.4.4  απο το βιβλίο του Gonzales.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: gdims on April 01, 2017, 04:30:27 am
Αν κάποιος τα έχει κάνει, πόση ώρα περίπου να υπολογίζουμε στα ερωτήματα 2 και 3;
Έσπασα το κεφάλι μου να βρω λύση χωρίς for στο nearest neighbor και ήδη φοβάμαι πως το bilinear θα μου πάρει πολύ.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Goemon on April 01, 2017, 16:39:01 pm
Αν κάποιος τα έχει κάνει, πόση ώρα περίπου να υπολογίζουμε στα ερωτήματα 2 και 3;
Έσπασα το κεφάλι μου να βρω λύση χωρίς for στο nearest neighbor και ήδη φοβάμαι πως το bilinear θα μου πάρει πολύ.


To 2o το έκανα και είναι 1 ωρίτσα δουλειά. Χωρίς να υπολογίζω βέβαια την αναφορά.

Το 3ο δεν το έκανα ακόμα αλλά υπολογίζω 1-2 ωρίτσες το πολύ. Είναι αρκετά straight-forward γενικά το πως να το κάνεις.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Indy on April 01, 2017, 19:45:35 pm
Το 2ο δεν είναι απλά ακέραια διαίρεση και πολλαπλασιασμός; Επίσης, τα w που πρέπει να δοκιμάσουμε (για να δούμε αν δουλεύει) πρέπει να είναι πολύ μικρότερα του 1 (γιατί οι τιμές κυμαίνονται από 0 έως 1)?


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Goemon on April 01, 2017, 19:49:39 pm
Το 2ο δεν είναι απλά ακέραια διαίρεση και πολλαπλασιασμός; Επίσης, τα w που πρέπει να δοκιμάσουμε (για να δούμε αν δουλεύει) πρέπει να είναι πολύ μικρότερα του 1 (γιατί οι τιμές κυμαίνονται από 0 έως 1)?

Ναι και ναι


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: unfo on April 01, 2017, 20:02:04 pm
εγω που βγαζω κατι τετοιο ..
τι λαθος παιζει να κανω ?


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: isitsou on April 01, 2017, 21:26:35 pm
εγω που βγαζω κατι τετοιο ..
τι λαθος παιζει να κανω ?

Την πρώτη φορά που έγραψα τον κώδικα μου έβγαινε έτσι πράσινο όπως και σε σένα. Μετά κατάλαβα πως είχα μπερδέψει την σειρά των χρωμάτων και έβαζα R-B-G, ενώ έπρεπε να βάζω R-G-B. Βέβαια όπως λένε και τα παιδιά σε προηγούμενα ποστ, το bayer της εκφώνησης είναι "αναποδιάρικο". Οπότε μην ξεχάσεις να αντικαταστήσεις τα κόκκινα κουτάκια με μπλε(B-G-R).  :D


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: unfo on April 01, 2017, 21:32:21 pm
Την πρώτη φορά που έγραψα τον κώδικα μου έβγαινε έτσι πράσινο όπως και σε σένα. Μετά κατάλαβα πως είχα μπερδέψει την σειρά των χρωμάτων και έβαζα R-B-G, ενώ έπρεπε να βάζω R-G-B. Βέβαια όπως λένε και τα παιδιά σε προηγούμενα ποστ, το bayer της εκφώνησης είναι "αναποδιάρικο". Οπότε μην ξεχάσεις να αντικαταστήσεις τα κόκκινα κουτάκια με μπλε(B-G-R).  :D


OK σε ευχαριστω  ;D


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: isitsou on April 01, 2017, 21:46:46 pm
Κάνω resize και χρωματική παρεμβολή ταυτόχρονα στον κώδικα μου αλλά δεν δουλεύει για όλα τα ratio, όπου ratio=M/M0  και ratio=N/N0. Για την ακρίβεια δουλεύει για όλες τις νέες εικόνες που είναι μεγαλύτερες απο την αρχική(ratio>1) αλλά δεν δουλεύει για όλες τις μικρότερες(ratio<1). Πχ στο ratio=0.6 δουλεύει ενώ στο 0.5 δεν δουλεύει. Βασικά νομίζω ότι στο 0.5 γίνεται επικάλυψη του πράσινου και του μπλε.
Τεσπα δεν νομίζω πως κάνω κάτι λάθος, νομίζω πως το είδος της παρεμβολής(κοντινότερου γείτονα) είναι το πρόβλημα. Έχω δίκιο ή όχι?  :(


edit: έχω κάνει λάθος στην εύρεση του κοντινότερου γείτονα... πφφφ


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Ροζ συννεφάκι on April 02, 2017, 18:08:48 pm
Τι ακριβώς είναι το πλέγμα δειγματοληψίας κάθε χρώματος που θέλει στην αναφορά;


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: talkshowhost on April 02, 2017, 20:14:33 pm
Φαντάζομαι ότι είναι το grid κάθε χρώματος.. 'Εγω έφτιαξα MxN πίνακα με πράσινο (πχ) σε θέση πράσινου και στις άλλες 0.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Indy on April 03, 2017, 03:04:46 am
Έχω θέματα με το 3ο ερώτημα... 1ον παίρνει περίπου 30 δευτερόλεπτα για να τρέξει η συνάρτηση, είναι αναμενόμενο αυτό; Και 2ον και κυριότερο δεν τρέχει σωστά. Μπορεί να μην έχω καταλάβει καλά το πρότυπο PPM.. καταρχήν η εικόνα εισόδου είναι σίγουρα ήδη κβαντισμένη (όπως φαίνεται να λέει η εκφώνηση)? δεύτερον τα bytes στο κυρίως σώμα δε χωρίζονται μεταξύ τους με κάτι (πχ με whitespace) ούτε καν οι "γραμμές" μεταξύ τους; επίσης χρησιμοποιούμε την char() για να γράψουμε τις τιμές σε μορφή bytes? και τελευταίο, αν το Κ είναι > 255 και κάποια τιμή < 256 τότε κάνουμε strcat(char(0), char(x(i, j, c))) για το σωστό padding όπως λέει το πρότυπο? Γενικά δε χρειάζεται να κάνουμε κάτι εμείς με την κβάντιση, σωστά? και άρα το Κ δεν το χρησιμοποιούμε (μόνο για τον παραπάνω έλεγχο και για να το γράψουμε στο αρχείο). Τέλος, για να τεστάρουμε τη συνάρτηση πρέπει να κάνουμε q = imagequant(x, w, w, w); saveasppm(q, 'test.ppm', 1/w);  ?


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: ReMi0s on April 03, 2017, 19:12:34 pm
Έχω θέματα με το 3ο ερώτημα... 1ον παίρνει περίπου 30 δευτερόλεπτα για να τρέξει η συνάρτηση, είναι αναμενόμενο αυτό; Και 2ον και κυριότερο δεν τρέχει σωστά. Μπορεί να μην έχω καταλάβει καλά το πρότυπο PPM.. καταρχήν η εικόνα εισόδου είναι σίγουρα ήδη κβαντισμένη (όπως φαίνεται να λέει η εκφώνηση)? δεύτερον τα bytes στο κυρίως σώμα δε χωρίζονται μεταξύ τους με κάτι (πχ με whitespace) ούτε καν οι "γραμμές" μεταξύ τους; επίσης χρησιμοποιούμε την char() για να γράψουμε τις τιμές σε μορφή bytes? και τελευταίο, αν το Κ είναι > 255 και κάποια τιμή < 256 τότε κάνουμε strcat(char(0), char(x(i, j, c))) για το σωστό padding όπως λέει το πρότυπο? Γενικά δε χρειάζεται να κάνουμε κάτι εμείς με την κβάντιση, σωστά? και άρα το Κ δεν το χρησιμοποιούμε (μόνο για τον παραπάνω έλεγχο και για να το γράψουμε στο αρχείο). Τέλος, για να τεστάρουμε τη συνάρτηση πρέπει να κάνουμε q = imagequant(x, w, w, w); saveasppm(q, 'test.ppm', 1/w);  ?
Η μορφή άσχετα με το τι λέει η εκφώνηση είναι
P6 N M K
RGBRGBRGB.....

χωρίς κενά τα RGB και χωρίς νέες σειρές.
Επίσης το Κ είναι ο μέγιστος αριθμός των σταθμών κβαντισμού, δηλαδή για 3 bit κωδικοποίηση το 7, για 8 bit το 255
Δεν χρειάζεται να τα μετατρέψεις σε binary αλλα μπορείς να χρησιμοποιήσεις την συνάρτηση fwrite() που το κάνει αυτό για σένα.
Στην συγκεκριμένη συνάρτηση δες και τι άλλο χρειάζεται για Big Endian όταν το K είναι μεγαλύτερο του 255.
Ελπίζω να σε βοήθησα.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Indy on April 03, 2017, 21:43:22 pm
Η μορφή άσχετα με το τι λέει η εκφώνηση είναι
P6 N M K
RGBRGBRGB.....

χωρίς κενά τα RGB και χωρίς νέες σειρές.
Επίσης το Κ είναι ο μέγιστος αριθμός των σταθμών κβαντισμού, δηλαδή για 3 bit κωδικοποίηση το 7, για 8 bit το 255
Δεν χρειάζεται να τα μετατρέψεις σε binary αλλα μπορείς να χρησιμοποιήσεις την συνάρτηση fwrite() που το κάνει αυτό για σένα.
Στην συγκεκριμένη συνάρτηση δες και τι άλλο χρειάζεται για Big Endian όταν το K είναι μεγαλύτερο του 255.
Ελπίζω να σε βοήθησα.


Όντως με την fwrite πήγε καλύτερα το πράμα, ευχαριστώ! Ακόμα και έτσι όπως λες, το Κ δε βλέπω πού το χρησιμοποιούμε στον κώδικα (εκτός απ τον έλεγχο Κ > 255 και για να το γράψεις στο αρχείο). Το αποτέλεσμά μου πλέον είναι η εικόνα σε 3πλή (και με κάποια "επικάλυψη" μεταξύ των ρεπλικών), δεν κατάφερα να τη βγάλω ολόσωστα... Θες να σου στείλω τον κώδικα μήπως μου πεις τί μου διαφεύγει;


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: ReMi0s on April 03, 2017, 22:23:38 pm
Όντως με την fwrite πήγε καλύτερα το πράμα, ευχαριστώ! Ακόμα και έτσι όπως λες, το Κ δε βλέπω πού το χρησιμοποιούμε στον κώδικα (εκτός απ τον έλεγχο Κ > 255 και για να το γράψεις στο αρχείο). Το αποτέλεσμά μου πλέον είναι η εικόνα σε 3πλή (και με κάποια "επικάλυψη" μεταξύ των ρεπλικών), δεν κατάφερα να τη βγάλω ολόσωστα... Θες να σου στείλω τον κώδικα μήπως μου πεις τί μου διαφεύγει;
στην ουσία w=1/(K+1).

μάλλον κάπου βάζεις \n... δεν θέλει πουθενά νέα σειρά εκτό μετά την πρώτη γραμμή.
τα χρώματα πρέπει να αποθηκευτουν έτσι q(1,1,1)q(1,1,2)q(1,1,3)q(1,2,1)q(1,2,2)q(1,2,3)....q(2,1,1)q(2,1,2)q(2,1,3).....
και προφανώς οχι δεν θέλω να δω τον κώδικα :P


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Indy on April 03, 2017, 22:47:51 pm
μάλλον κάπου βάζεις \n... δεν θέλει πουθενά νέα σειρά εκτό μετά την πρώτη γραμμή.
τα χρώματα πρέπει να αποθηκευτουν έτσι q(1,1,1)q(1,1,2)q(1,1,3)q(1,2,1)q(1,2,2)q(1,2,3)....q(2,1,1)q(2,1,2)q(2,1,3).....

Ναι, μόνο εκεί βάζω \n

στην ουσία w=1/(K+1).

OK, αλλά αυτό δε χρειάζεται πουθενά μέσα στο σώμα της συνάρτησης (δηλαδή δεν πρέπει να κάνουμε αποκβαντισμό... ή πρέπει;)
Χρειάζεται μόνο στην κλήση της συνάρτησης, πχ
q = imagequant(x, 0.001, 0.001, 0.001);
saveasppm(q, 'a.ppm', 1000);
?


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: ReMi0s on April 03, 2017, 23:11:11 pm
Ναι, μόνο εκεί βάζω \n

OK, αλλά αυτό δε χρειάζεται πουθενά μέσα στο σώμα της συνάρτησης (δηλαδή δεν πρέπει να κάνουμε αποκβαντισμό... ή πρέπει;)
Χρειάζεται μόνο στην κλήση της συνάρτησης, πχ
q = imagequant(x, 0.001, 0.001, 0.001);
saveasppm(q, 'a.ppm', 1000);
?
Στην save δεν κανεις κανεναν αποκβαντισμό εσύ... Το Κ σο χρειάζεται μόνο στον ορισμό των χαρακτηριστικών του αρχείου...


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Indy on April 03, 2017, 23:27:39 pm
Στην save δεν κανεις κανεναν αποκβαντισμό εσύ... Το Κ σο χρειάζεται μόνο στον ορισμό των χαρακτηριστικών του αρχείου...


Άρα κάτι άλλο φταίει... Καλώς, thx και πάλι


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: ReMi0s on April 03, 2017, 23:31:38 pm
Άρα κάτι άλλο φταίει... Καλώς, thx και πάλι
ο πιο απλός τρόπος είναι μεσα σε διπλή for να γράφεις [q(i,j,1),q(i,j,2),q(i,j,3)]


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: ReMi0s on April 03, 2017, 23:39:35 pm
Κάνω resize και χρωματική παρεμβολή ταυτόχρονα στον κώδικα μου αλλά δεν δουλεύει για όλα τα ratio, όπου ratio=M/M0  και ratio=N/N0. Για την ακρίβεια δουλεύει για όλες τις νέες εικόνες που είναι μεγαλύτερες απο την αρχική(ratio>1) αλλά δεν δουλεύει για όλες τις μικρότερες(ratio<1). Πχ στο ratio=0.6 δουλεύει ενώ στο 0.5 δεν δουλεύει. Βασικά νομίζω ότι στο 0.5 γίνεται επικάλυψη του πράσινου και του μπλε.
Τεσπα δεν νομίζω πως κάνω κάτι λάθος, νομίζω πως το είδος της παρεμβολής(κοντινότερου γείτονα) είναι το πρόβλημα. Έχω δίκιο ή όχι?  :(


edit: έχω κάνει λάθος στην εύρεση του κοντινότερου γείτονα... πφφφ

νομίζω το ratio θα επρεπε να είναι M0/M kai Ν0/N....


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Indy on April 03, 2017, 23:42:54 pm
ο πιο απλός τρόπος είναι μεσα σε διπλή for να γράφεις [q(i,j,1),q(i,j,2),q(i,j,3)]

τώρα το χω σε τριπλή for για να μην επαναλαμβάνω και το 3ο index (το χρώμα) αλλά θα το δοκιμάσω όπως το λες


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Indy on April 03, 2017, 23:59:13 pm
πάλι μου βγαίνει έτσι ρε γαμώτο (όπως μου βγαινε και πριν)


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: ReMi0s on April 04, 2017, 00:04:40 am
πάλι μου βγαίνει έτσι ρε γαμώτο (όπως μου βγαινε και πριν)
Καταρχήν για 0.001 που έχεις το Κ είναι 999 και όχι 1000, άμα έχεις κάνει σωστά τα προηγούμενα. Κατα δεύτερον για Κ=999 θα πρέπει να αλλάξεις 2 πράγματα .. απο uint8 και uint16 και απο little Endian se Big Endian


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Indy on April 04, 2017, 00:28:01 am
Καταρχήν για 0.001 που έχεις το Κ είναι 999 και όχι 1000, άμα έχεις κάνει σωστά τα προηγούμενα. Κατα δεύτερον για Κ=999 θα πρέπει να αλλάξεις 2 πράγματα .. απο uint8 και uint16 και απο little Endian se Big Endian

Και με 999 το ίδιο μου βγαίνει. Η γραμμή που γράφει είναι fwrite(file, [x(i, j, 1), x(i, j, 2), x(i, j, 3)], format, 'b');
όπου το format παίρνει τιμή 'uint16' σε παραπάνω if.
Θα ελέγξω την imagequant μου πάλι, τη θεωρούσα σωστή γιατί η imagedequant(imagequant(x)) δίνει ίδια εικόνα με τη x, αλλά αυτό δεν εγγυάται μάλλον την ορθότητά της.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: ReMi0s on April 04, 2017, 00:32:26 am
Και με 999 το ίδιο μου βγαίνει. Η γραμμή που γράφει είναι fwrite(file, [x(i, j, 1), x(i, j, 2), x(i, j, 3)], format, 'b');
όπου το format παίρνει τιμή 'uint16' σε παραπάνω if.
Θα ελέγξω την imagequant μου πάλι, τη θεωρούσα σωστή γιατί η imagedequant(imagequant(x)) δίνει ίδια εικόνα με τη x, αλλά αυτό δεν εγγυάται μάλλον την ορθότητά της.
πάντως την fwrite σωστά την έχεις γράψει.. γράφεις σωστά την σειρά των μεγεθών της εικόνας;
είναι P6 αριθμός στηλών αριθμός γραμμών Κ
δες μήπως έχεις βάλει ανάποδα το Ν και το Μ


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Indy on April 04, 2017, 00:48:33 am
πάντως την fwrite σωστά την έχεις γράψει.. γράφεις σωστά την σειρά των μεγεθών της εικόνας;
είναι P6 αριθμός στηλών αριθμός γραμμών Κ
δες μήπως έχεις βάλει ανάποδα το Ν και το Μ

omg αυτό ήταν τόση ώρα! (ανάποδα τα n και m). thanks!


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: talkshowhost on April 04, 2017, 15:26:36 pm
Αν εφαρμόσω την imagedequant στην εικόνα από τη μέθοδο κοντινότερου γείτονα, παίρνω αυτό το αποτέλεσμα, που δεν μου φαίνεται καλό.. Επίσης το σφάλμα είναι τεράστιο , αλλά δεν μπορώ να αλλάξω τον αριθμό από τις ζώνες γτ ζητείται κάθε σύμβολο να είναι των 3bits..
Σε εσάς πώς είναι το αποτέλεσμα;


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: ReMi0s on April 04, 2017, 15:35:23 pm
Αν εφαρμόσω την imagedequant στην εικόνα από τη μέθοδο κοντινότερου γείτονα, παίρνω αυτό το αποτέλεσμα, που δεν μου φαίνεται καλό.. Επίσης το σφάλμα είναι τεράστιο , αλλά δεν μπορώ να αλλάξω τον αριθμό από τις ζώνες γτ ζητείται κάθε σύμβολο να είναι των 3bits..
Σε εσάς πώς είναι το αποτέλεσμα;
Κάτι κάνεις τρομερά λάθος στην mydequant η imagedequant. .
Άν θές έλεγξε τον πίνακα που εξάγεται και δες τις τιμές του... Αν τα έχεις κάνει σωστά πρέπει όλες οι τιμές να είναι ανάμεσα στο [0,1]. Πάω στοίχημα οτι δεν είναι.
γενικά η myquant το μόνο που κάνει είναι να διαιρεί το κάθε pixel με το w,
και η dequant το κάθε πίξελ το πολλαπλασιάζει με το w και προσθέτει w/2 για την αποκβάντιση στο μισό της στάθμης κβαντισμού.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: talkshowhost on April 04, 2017, 16:08:32 pm
Αυτη τη διαδικασια που περιγραφεις ακολουθω και οι τιμες φωτεινοτητας ειναι απο 0 μεχρι 55..
Κατι εχει ξεφυγει μαλλον


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: ReMi0s on April 04, 2017, 16:41:36 pm
Αυτη τη διαδικασια που περιγραφεις ακολουθω και οι τιμες φωτεινοτητας ειναι απο 0 μεχρι 55..
Κατι εχει ξεφυγει μαλλον
Μήπως βάζεις w>1? Πρέπει το w<1 ... Επίσης η imagedequant σαν όρισμα παίρνει την έξοδο της imagequant.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: talkshowhost on April 04, 2017, 17:37:10 pm
Εν τελει είναι κάπως έτσι


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: raf18 on April 05, 2017, 17:50:35 pm
εμένα η εικόνα με 3bit κβαντισμό μου κάνει κάπως νερά... αυτό είναι αναμενόμενο?

edit: Με 8bit μου βγαίνει φυσιολογική


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Goemon on April 05, 2017, 18:31:07 pm
εμένα η εικόνα με 3bit κβαντισμό μου κάνει κάπως νερά... αυτό είναι αναμενόμενο?

edit: Με 8bit μου βγαίνει φυσιολογική

ναι μια χαρά ειναι


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: abadasa13 on April 05, 2017, 22:07:48 pm
Στη διγραμμική παρεμβολή, προφανώς απαιτούνται 2 γραμμές. Στην περίπτωση όμως που είσαι σε πράσινο pixel και ψάχνεις το κόκκινο και το μπλε του, αναγκαστικά δεν παίρνεις μόνο απλή γραμμική παρεμβολή στα από πάνω ή στα δίπλα ανάλογα τι ψάχνεις; Γιατί αλλιώς τα δείγματα απομακρύνονται πολύ από το pixel που μας ενδιαφέρει. Μιλάω για μια περίπτωση όπως αυτή:


G   R   G
B   G   B
G   R   G

Άρα παίρνεις για το μεσαίο G ημιάθροισμα των B για το μπλε του π.χ.; Αλλά αυτό δεν είναι διγραμμική...

 :(


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: fibonacci on April 05, 2017, 22:12:27 pm
για κάποιο λόγο η bayer2rgb() μου βγάζει κανονικά αποτελέσματα μόνο για ζητούμενη ανάλυση ίση με την μισή της αρχικής εικόνας , ενώ από οποιεσδήποτε άλλες διαστάσεις οι παρεμβολή γίνεται λάθος ... έχει κανείς καμιά ιδέα ;


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Goemon on April 05, 2017, 22:37:25 pm
για κάποιο λόγο η bayer2rgb() μου βγάζει κανονικά αποτελέσματα μόνο για ζητούμενη ανάλυση ίση με την μισή της αρχικής εικόνας , ενώ από οποιεσδήποτε άλλες διαστάσεις οι παρεμβολή γίνεται λάθος ... έχει κανείς καμιά ιδέα ;


Ίσως έκανες κάτι λάθος  :D


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: gdims on April 05, 2017, 22:55:06 pm
για κάποιο λόγο η bayer2rgb() μου βγάζει κανονικά αποτελέσματα μόνο για ζητούμενη ανάλυση ίση με την μισή της αρχικής εικόνας , ενώ από οποιεσδήποτε άλλες διαστάσεις οι παρεμβολή γίνεται λάθος ... έχει κανείς καμιά ιδέα ;


Εντόπισε ποιο κανάλι είναι λάθος. Παλεύω και εγώ με το πράσινο τώρα που μου κάνει χαζά...


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: ReMi0s on April 06, 2017, 00:03:00 am
Στη διγραμμική παρεμβολή, προφανώς απαιτούνται 2 γραμμές. Στην περίπτωση όμως που είσαι σε πράσινο pixel και ψάχνεις το κόκκινο και το μπλε του, αναγκαστικά δεν παίρνεις μόνο απλή γραμμική παρεμβολή στα από πάνω ή στα δίπλα ανάλογα τι ψάχνεις; Γιατί αλλιώς τα δείγματα απομακρύνονται πολύ από το pixel που μας ενδιαφέρει. Μιλάω για μια περίπτωση όπως αυτή:


G   R   G
B   G   B
G   R   G

Άρα παίρνεις για το μεσαίο G ημιάθροισμα των B για το μπλε του π.χ.; Αλλά αυτό δεν είναι διγραμμική...

 :(


Εγώ όπως και να έχει βρίσκω τα 4 πιο κοντινά και κάνω διγραμμική παρεμβολή... Η εικόνα βγαίνει κομπλέ και ας είναι μερικές φορές 2 γραμμές η στήλες μακρυά.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: gdims on April 06, 2017, 01:38:26 am
Να κάνω μια γενική παρατήρηση; Εγώ για bilinear interpolation αποφάσισα να χρησιμοποιήσω τη μέθοδο που αναγράφεται στο:

https://en.wikipedia.org/wiki/Bilinear_interpolation#Alternative_algorithm

Εάν και άλλοι το κάνατε έτσι, σκεφτείτε τα εξής:

Για το κόκκινο και μπλε κανάλι, όλα ΟΚ. Στο πράσινο κανάλι, οι κοντινότεροι γείτονες δεν βρίσκονται σε δύο γραμμές και δύο στήλες όπως πριν.
Χρειάζονται τρεις γραμμές και τρεις στήλες για να τους ορίσεις. Επομένως η μέθοδος με τα x1,x2,y1,y2 δεν μπορεί να δώσει λύση!
Πράγματι, κάνοντας scale up και παρατηρώντας τα κανάλια, το green είναι λιγότερο smooth από τα red και blue.

Συμφωνεί κανείς;


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Charles on April 06, 2017, 13:18:56 pm
Να κάνω μια γενική παρατήρηση; Εγώ για bilinear interpolation αποφάσισα να χρησιμοποιήσω τη μέθοδο που αναγράφεται στο:

https://en.wikipedia.org/wiki/Bilinear_interpolation#Alternative_algorithm

Εάν και άλλοι το κάνατε έτσι, σκεφτείτε τα εξής:

Για το κόκκινο και μπλε κανάλι, όλα ΟΚ. Στο πράσινο κανάλι, οι κοντινότεροι γείτονες δεν βρίσκονται σε δύο γραμμές και δύο στήλες όπως πριν.
Χρειάζονται τρεις γραμμές και τρεις στήλες για να τους ορίσεις. Επομένως η μέθοδος με τα x1,x2,y1,y2 δεν μπορεί να δώσει λύση!
Πράγματι, κάνοντας scale up και παρατηρώντας τα κανάλια, το green είναι λιγότερο smooth από τα red και blue.

Συμφωνεί κανείς;

+1


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: raf18 on April 06, 2017, 14:14:32 pm
πόσο χρόνο κάνει να τρέξει η saveasppm σε εσάς?
εμένα κάνει λίγο πάνω από 40sec.
οι άλλες συναρτήσεις είναι γρήγορες και βγάζω κομπλέ εικόνα.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Gaara on April 06, 2017, 15:15:11 pm
Σχετικά με τον κβαντιστή.

Όταν λεει αρνητική τιμή εισόδου τι εννοεί? (από τη στιγμή που όλες οι τιμές εισόδου ανήκουν στο [0,1]).


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Επικο Burger on April 06, 2017, 15:47:43 pm
πόσο χρόνο κάνει να τρέξει η saveasppm σε εσάς?
εμένα κάνει λίγο πάνω από 40sec.
οι άλλες συναρτήσεις είναι γρήγορες και βγάζω κομπλέ εικόνα.

Γράφω τους χρόνους μου για reference:

NN Interpolation:  0.1133 sec (matrix operations),  ~4 sec με for loops

Bilinear Interpolation:  0.1070 sec, ~4 sec με for loops

Save PPM: 0.107819 sec για μια εικόνα



Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: abadasa13 on April 06, 2017, 16:12:15 pm
Σχετικά με τον κβαντιστή.

Όταν λεει αρνητική τιμή εισόδου τι εννοεί? (από τη στιγμή που όλες οι τιμές εισόδου ανήκουν στο [0,1]).

Νομίζω ότι απλά δε χρησιμοποιείται η αρνητική τιμή αν έχω καταλάβει καλά. Ας επιβεβαίωσει κάποιος γιατί δεν είμαι καθόλου σίγουρος. Μπορεί να εννοεί κάτι άλλο ο ποιητής.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Gaara on April 06, 2017, 16:16:03 pm
ποιητής



Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Επικο Burger on April 06, 2017, 16:21:57 pm
Νομίζω ότι απλά δε χρησιμοποιείται η αρνητική τιμή αν έχω καταλάβει καλά. Ας επιβεβαίωσει κάποιος γιατί δεν είμαι καθόλου σίγουρος. Μπορεί να εννοεί κάτι άλλο ο ποιητής.

Αυτό που καταλαβα εγω ειναι οτι απλα θελει να δουλευει η myquant και mydequant και για θετικα και για αρνητικά, όπως και για scalar/vector/matrix.

Απο κει και πέρα για την εργασία το βασικό που θέλει ειναι η imagequant, η οποία δουλεύει για matrix  στο [0,1].


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: abadasa13 on April 06, 2017, 16:32:14 pm
Συμφωνώ με το Επικό Burger!

Ντάξει, ακόμα γελάω με το διογκωμένο bold ποιητής!!!  :D :D :D

Αν είναι έτσι πάντως όπως τα λέτε ο κώδικας είναι 3 λεπτά υπόθεση και τρέχει μπαμ μπαμ.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Gaara on April 06, 2017, 16:35:45 pm
Για να μπουν λιγο στη θεση τους:

Ομοιόμορφος: Αναφέρεται στο γεγονος οτι το μεγεθος του διαστηματος που καλυπτει το w ειναι το ιδιο για ολα τα w. (Equally spaced step size)
Συμμετρικος = Σταθμες απόφασεις(x) και κβαντισμού(w) ειναι διατεταγμενες συμμετρικα προς το 0.
Νεκρης ζώνης: Το διαστημα που περιεχει το 0 απεικονιζεται στη σταθμη xi = 0
Όποτε !=ΝεκρήςΖώνης θα κανουμε floor στο ανω φραγμα. Δλδ εστω οτι w1=[0,0.02] τοτε το x1=0.02

Αν εχω καταλαβει κάτι λαθος διορθώστε.

Επισης υπαρχει conflict με το [0,1] σαν είσοδο και α) συμμετρικος β) αρνητικες τιμες εισόδου. Εκτος και αν τον υλοποιησουμε για τιμες [-1,1] και εν τελει δεν χρησιμοποιηθει το [-1,0) (Αν εννοουσες αυτο abadasa13) (Οκ αυτο ελεγες)


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: pilatos on April 06, 2017, 16:37:42 pm
Να κάνω μια γενική παρατήρηση; Εγώ για bilinear interpolation αποφάσισα να χρησιμοποιήσω τη μέθοδο που αναγράφεται στο:

https://en.wikipedia.org/wiki/Bilinear_interpolation#Alternative_algorithm

Εάν και άλλοι το κάνατε έτσι, σκεφτείτε τα εξής:

Για το κόκκινο και μπλε κανάλι, όλα ΟΚ. Στο πράσινο κανάλι, οι κοντινότεροι γείτονες δεν βρίσκονται σε δύο γραμμές και δύο στήλες όπως πριν.
Χρειάζονται τρεις γραμμές και τρεις στήλες για να τους ορίσεις. Επομένως η μέθοδος με τα x1,x2,y1,y2 δεν μπορεί να δώσει λύση!
Πράγματι, κάνοντας scale up και παρατηρώντας τα κανάλια, το green είναι λιγότερο smooth από τα red και blue.

Συμφωνεί κανείς;

Κιεγω αυτο κανω αλλα τα νουμερα βγαινουν οπως ναναι, αλλα αρνητικα αλλα πολυ μεγαλυτερα του ενα. Τα χ1,y1,x2,y2 δεν ειναι  συν/νες απο την αρχικη εικονα Ν0χΜ0 και τα χ,y οι συν/νες του pixel της νεας εικονας που ψαχνεις την τιμη του?


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: abadasa13 on April 06, 2017, 16:42:45 pm
Για να μπουν λιγο στη θεση τους:

Ομοιόμορφος: Αναφέρεται στο γεγονος οτι το μεγεθος του διαστηματος που καλυπτει το w ειναι το ιδιο για ολα τα w. (Equally spaced step size)
Συμμετρικος = Σταθμες απόφασεις(x) και κβαντισμού(w) ειναι διατεταγμενες συμμετρικα προς το 0.
Νεκρης ζώνης: Το διαστημα που περιεχει το 0 απεικονιζεται στη σταθμη xi = 0
Όποτε !=ΝεκρήςΖώνης θα κανουμε floor στο ανω φραγμα. Δλδ εστω οτι w1=[0,0.02] τοτε το x1=0.02

Αν εχω καταλαβει κάτι λαθος διορθώστε.

Επισης υπαρχει conflict με το [0,1] σαν είσοδο και α) συμμετρικος β) αρνητικες τιμες εισόδου. Εκτος και αν τον υλοποιησουμε για τιμες [-1,1] και εν τελει δεν χρησιμοποιηθει το [-1,0) (Αν εννοουσες αυτο abadasa13) (Οκ αυτο ελεγες)


Νομίζω κάτι δεν κατάλαβες καλά!

Ο νεκρής ζώνης είναι συμμετρικός ως προς το 0. Στην εκφώνηση θες το [0,w] να πηγαίνει στο i=0. Άρα (υποθέτω) το [-w,0] πηγαίνει στο -1. Αυτό είναι μία απλή floor.

( https://en.wikipedia.org/wiki/Quantization_(signal_processing)#Mid-riser_and_mid-tread_uniform_quantizers (https://en.wikipedia.org/wiki/Quantization_(signal_processing)#Mid-riser_and_mid-tread_uniform_quantizers) )

Εγώ έτσι το κάνω τουλάχιστον, τώρα εγώ κατάλαβα λάθος ή εσύ, ποιος ξέρει; :D


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Gaara on April 06, 2017, 16:45:34 pm
ok ty.
Γενικα στο μαθημα ειπε κατι σχετικο?

Και μια μικρη σημειωση οτι ο βαθμος της εργασιας εχει ανεβει πολυ σε σχεση με πχ το 2015 οπου εκανες μονο demosaic και resize με interp2. Just saying.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Επικο Burger on April 06, 2017, 16:45:56 pm
Νομίζω κάτι δεν κατάλαβες καλά!

Ο νεκρής ζώνης είναι συμμετρικός ως προς το 0. Στην εκφώνηση θες το [0,w] να πηγαίνει στο i=0. Άρα (υποθέτω) το [-w,0] πηγαίνει στο -1. Αυτό είναι μία απλή floor.

( https://en.wikipedia.org/wiki/Quantization_(signal_processing)#Mid-riser_and_mid-tread_uniform_quantizers (https://en.wikipedia.org/wiki/Quantization_(signal_processing)#Mid-riser_and_mid-tread_uniform_quantizers) )

Εγώ έτσι το κάνω τουλάχιστον, τώρα εγώ κατάλαβα λάθος ή εσύ, ποιος ξέρει; :D

Και γω αυτο καταλαβα


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: xristos_st on April 06, 2017, 16:52:16 pm
Τι εννοει με το πλεγμα δειγματοληψιας?Τον καθε πινακα R G B?
Δηλαδη τι πρεπει να παρουσιασουμε στην αναφορα?


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Επικο Burger on April 06, 2017, 16:57:05 pm
Τι εννοει με το πλεγμα δειγματοληψιας?Τον καθε πινακα R G B?
Δηλαδη τι πρεπει να παρουσιασουμε στην αναφορα?

Και εγω ψιλο σκαλωσα με το τι ηθελε, τελικα εβαλα απλα το bayer pattern σε πινακα, συν την εξισωση περιγραφης που εβγαλα.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Charles on April 06, 2017, 18:11:52 pm
Κιεγω αυτο κανω αλλα τα νουμερα βγαινουν οπως ναναι, αλλα αρνητικα αλλα πολυ μεγαλυτερα του ενα. Τα χ1,y1,x2,y2 δεν ειναι  συν/νες απο την αρχικη εικονα Ν0χΜ0 και τα χ,y οι συν/νες του pixel της νεας εικονας που ψαχνεις την τιμη του?

Για να μην είναι αρνητικά νομίζω πρέπει απλά να παίρνεις τις απόλυτες τιμές όταν έχεις αφαιρέσεις. Με τον τρόπο που παίρνει τον τύπο στο wiki είναι εξασφαλισμένα θετικές οι τιμές του όταν παίρνει π.χ. χ2-χ1. Τώρα γιατί οι τιμές είναι μεγαλύτερες του ένα δεν ξέρω...


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Ροζ συννεφάκι on April 06, 2017, 18:23:17 pm
Γράφω τους χρόνους μου για reference:

NN Interpolation:  0.1133 sec (matrix operations),  ~4 sec με for loops

Bilinear Interpolation:  0.1070 sec, ~4 sec με for loops

Save PPM: 0.107819 sec για μια εικόνα


Πώς ακριβώς τρέχεις τόσο γρήγορα το bilinear; Εμένα μου έπαιρνε πάρα πολύ ώρα και λέω κάτι θα κάνω λάθος.. Και έβαλα να κάνει τις πράξεις για το interpolation για ένα pixel και θέλει  0.0039s για το ένα χρώμα. Δηλαδή για M,N ίσα με τα M0,N0 θα θέλει γύρω στα 20 λεπτά για όλα τα χρώματα.. Κάνεις κάτι άλλο εκτός από την απλή εφαρμογή της μεθόδου;


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Gaara on April 06, 2017, 18:56:52 pm
Για την κβαντιση:

Απο float να παω σε x bit int?


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Goemon on April 06, 2017, 20:32:30 pm
Για την κβαντιση:

Απο float να παω σε x bit int?

Ρωτάς αν αυτό είναι η κβάντιση? λίγο πολύ ναι.

Πχ για x = 0.456 και w = 0.2   ( δλδ στάθμες κβαντισμού = 1/0.2 = 5 δλδ 3bit αρκούν)  τότε q = 3


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: isitsou on April 06, 2017, 22:20:46 pm
Δεν βγάζω άκρη με το τρίτο ΚΑΙ ΤΕΛΕΥΤΑΙΟ μέρος της εργασίας.  Αυτός είναι ο κώδικας μου και μου βγάζει κυριολεκτικά ότι να 'ναι εικόνα. Ανεβάζω και το αρχείο ppm(το οποίο παίρνει τιμές 0-7, όπως νομίζω πως θα πρεπε να παίρνει). Αν μπορεί κάποιος να μου δώσει τα φώτα του γτ δεν βλέπω να παίρνει παράταση και είναι κρίμα μετα απο 100ώρες στην υπόλοιπη εργασία να κολλήσω σε κάτι απλό.  :-\   :'(
Code:
function saveasppm(x,filename,K)
[w, h, rgb] = size(x);
 
fid = fopen( filename, 'wt' );
 
fprintf( fid, 'P6 ' );
fprintf( fid, '%d %d %d\n', w, h,K);
for i=1:w
    for j=1:h
        if j~=h %otan graftei olh h prwth seira allakse seira 
        for k=1:3
            fprintf( fid, '%d ',x(i,j,k)); 
        end
        else
            fprintf( fid, '%d ',x(i,j,1));
            fprintf( fid, '%d ',x(i,j,2));
            fprintf( fid, '%d \n',x(i,j,3));
        end
    end
end
 
fclose( fid );
end
PS: Δεν έχω ασχοληθεί ακόμα με τα περιθώρια της εικόνας οπότε μου την βγάζει σε μαύρο πλαίσιο...  :P
Επισης το ανεβάζω σε txt γιατί δεν με αφήνει σε μορφή ppm.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: ReMi0s on April 06, 2017, 23:32:14 pm
Δεν βγάζω άκρη με το τρίτο ΚΑΙ ΤΕΛΕΥΤΑΙΟ μέρος της εργασίας.  Αυτός είναι ο κώδικας μου και μου βγάζει κυριολεκτικά ότι να 'ναι εικόνα. Ανεβάζω και το αρχείο ppm(το οποίο παίρνει τιμές 0-7, όπως νομίζω πως θα πρεπε να παίρνει). Αν μπορεί κάποιος να μου δώσει τα φώτα του γτ δεν βλέπω να παίρνει παράταση και είναι κρίμα μετα απο 100ώρες στην υπόλοιπη εργασία να κολλήσω σε κάτι απλό.  :-\   :'(
Code:
function saveasppm(x,filename,K)
[w, h, rgb] = size(x);
 
fid = fopen( filename, 'wt' );
 
fprintf( fid, 'P6 ' );
fprintf( fid, '%d %d %d\n', w, h,K);
for i=1:w
    for j=1:h
        if j~=h %otan graftei olh h prwth seira allakse seira  
        for k=1:3
            fprintf( fid, '%d ',x(i,j,k));  
        end
        else
            fprintf( fid, '%d ',x(i,j,1));
            fprintf( fid, '%d ',x(i,j,2));
            fprintf( fid, '%d \n',x(i,j,3));
        end
    end
end
 
fclose( fid );
end
PS: Δεν έχω ασχοληθεί ακόμα με τα περιθώρια της εικόνας οπότε μου την βγάζει σε μαύρο πλαίσιο...  :P
Επισης το ανεβάζω σε txt γιατί δεν με αφήνει σε μορφή ppm.
Με μία ματιά είδα διάφορα, αρχικά έχεις ανάποδα το w και το h στο header.
Κατα δεύτερον θέλει fwrite για τα χρώματα h fprintf με %c
Επίσης στα χρώματα δεν θέλει ούτε κενα ούτε νέες γραμμές ΚΑΘΟΛΟΥ
Γενικά δες περίπου στην σελίδα 4 έχουμε γράψει αρκετά για το Save


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: panbamid on April 06, 2017, 23:47:21 pm
Επειδη απο οτι ειδα εχει ρωτηθει και πιο πριν και δεν εχει απαντηθει, μπορει καποιος να μας πει πως εκανε την διγραμμικη παρεμβολη για το πρασινο;


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Επικο Burger on April 07, 2017, 00:06:41 am
Με μία ματιά είδα διάφορα, αρχικά έχεις ανάποδα το w και το h στο header.
Κατα δεύτερον θέλει fwrite για τα χρώματα h fprintf με %c
Επίσης στα χρώματα δεν θέλει ούτε κενα ούτε νέες γραμμές ΚΑΘΟΛΟΥ
Γενικά δες περίπου στην σελίδα 4 έχουμε γράψει αρκετά για το Save

Βασικο τα χρωματα να ειναι RGBRGBRGB... σε μια σειρα συνεχομενα χωρις κανενα κενο και νεες γραμμες οπως λεει ο ReMi0s.

Επίσης, νομιζω πιο καλα βγαινει χωρις for, απλα γραφοντας ολα τα χρωματα της εικονας σε ενα vector, δηλαδη [R(1,1) G(1,1) B(1,1) R(1,2) G(1,2) B(1,2) ...], και γραφοντας αυτό στο αρχείο.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: ReMi0s on April 07, 2017, 00:11:48 am
Βασικο τα χρωματα να ειναι RGBRGBRGB... σε μια σειρα συνεχομενα χωρις κανενα κενο και νεες γραμμες οπως λεει ο ReMi0s.

Επίσης, νομιζω πιο καλα βγαινει χωρις for, απλα γραφοντας ολα τα χρωματα της εικονας σε ενα vector, δηλαδη [R(1,1) G(1,1) B(1,1) R(1,2) G(1,2) B(1,2) ...], και γραφοντας αυτό στο αρχείο.
Έχεις δίκιο για αυτό με τον vector. Έτσι το έχω κάνει και είναι πολύ γρήγορο.

Επειδη απο οτι ειδα εχει ρωτηθει και πιο πριν και δεν εχει απαντηθει, μπορει καποιος να μας πει πως εκανε την διγραμμικη παρεμβολη για το πρασινο;
Εγώ αυτοσχεδίασα, βγάζω μεν καλή εικόνα αλλά δεν ξέρω αν θεωρητικά ο τρόπος μου είναι σωστός. Δεν θέλω να πάρω κανέναν στον λαιμό μου.

Στην περίπτωση που είσαι μέσα σε πράσινο και κανεις interpolation για να βρεις την τιμή στον νέο πίνακα.
Έστω f0 αριστερα, f1 πανω, f2 δεξιά kai f3 κάτω. Και εννοείται τα κοντινότερα.... Εδώ γίνεται ο χαμός..

I1=f1*(y2-j)/(y2-y1)+f2*(j-y1)/(y2-y1);
I2=f0*(y3-j)/(y3-y0)+f3*(j-y0)/(y3-y0);
I=I1*(x3-i)/(x3-x1)+I2*(i-x1)/(x3-x1);


Έστω οτι τώρα είσαι μέσα σε κόκκινο η μπλε και ψάχνεις πάλι τα πράσινα.
Όπου bayerI=floor(i) και bayerJ=floor(j)

I1=Green(bayerI-1,bayerJ)*(bayerJ+1-j)+Green(bayerI,bayerJ+1)*(j-bayerJ);
I2=Green(bayerI,bayerJ-1)*(bayerJ+1-j)+Green(bayerI+1,bayerJ)*(j-bayerJ);
I=I1*(bayerI-i)+I2*(i-bayerI+1);

Ξανα λέω πως δεν ξέρω αν είναι θεωρητικά ορθή προσέγγιση.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Επικο Burger on April 07, 2017, 00:16:05 am
Επειδη απο οτι ειδα εχει ρωτηθει και πιο πριν και δεν εχει απαντηθει, μπορει καποιος να μας πει πως εκανε την διγραμμικη παρεμβολη για το πρασινο;

Το θέμα νομιζω δεν ειναι τοσο το πρασινο, όσο οι τιμες των κοκκινων και μπλε, στα πρασινα pixel.

Το βασικό με το πρασινο ειναι να ελέγξεις τι πρασινο έχεις.

Πχ στην απλή υλοποιηση με for:  
1)Αν είσαι σε πρασινο σε γραμμη με κοκκινα-πρασινα, το κοκκινο εινα ο MO του δεξιου και αριστερου πιξελ, ενώ του μπλε είναι ο ΜΟ του πάνω και του κάτω.
2) Αν είσαι σε πρασινο σε γραμμη με μπλε-πρασινα, το κοκκινο ειναι ο ΜΟ του πάνω και του κάτω πιξελ, ενώ του μπλέ ειναι ο ΜΟ του δεξιου και αριστερού.

Για κόκκινα και μπλε έχεις κάθε φορα, για κάθε interpolated χρώμα, τα πάνω κατω δεξια και αριστερα.

Έλπιζω να βοηθησα και να μην χαωσα περισσοτερο :P


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Επικο Burger on April 07, 2017, 00:19:35 am
Πώς ακριβώς τρέχεις τόσο γρήγορα το bilinear; Εμένα μου έπαιρνε πάρα πολύ ώρα και λέω κάτι θα κάνω λάθος.. Και έβαλα να κάνει τις πράξεις για το interpolation για ένα pixel και θέλει  0.0039s για το ένα χρώμα. Δηλαδή για M,N ίσα με τα M0,N0 θα θέλει γύρω στα 20 λεπτά για όλα τα χρώματα.. Κάνεις κάτι άλλο εκτός από την απλή εφαρμογή της μεθόδου;

20 λεπτα για το bilinear είναι σίγουρα πολλά :P

Ο αργός μου χρονος, τα 4 sec, ειναι με υλοποιηση με 2 nested for loops και ελεγχο για καθε pixel.

Ο γρηγορος χρονος ειναι χωρις καθολου for, μόνο με πολλαπλασιασμους πινάκων και μασκες.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: ReMi0s on April 07, 2017, 00:20:02 am
Το θέμα νομιζω δεν ειναι τοσο το πρασινο, όσο οι τιμες των κοκκινων και μπλε, στα πρασινα pixel.

Το βασικό με το πρασινο ειναι να ελέγξεις τι πρασινο έχεις.

Πχ στην απλή υλοποιηση με for:  
1)Αν είσαι σε πρασινο σε γραμμη με κοκκινα-πρασινα, το κοκκινο εινα ο MO του δεξιου και αριστερου πιξελ, ενώ του μπλε είναι ο ΜΟ του πάνω και του κάτω.
2) Αν είσαι σε πρασινο σε γραμμη με μπλε-πρασινα, το κοκκινο ειναι ο ΜΟ του πάνω και του κάτω πιξελ, ενώ του μπλέ ειναι ο ΜΟ του δεξιου και αριστερού.

Για κόκκινα και μπλε έχεις κάθε φορα, για κάθε interpolated χρώμα, τα πάνω κατω δεξια και αριστερα.

Έλπιζω να βοηθησα και να μην χαωσα περισσοτερο :P
Αυτό που λές ισχύει μόνο για όταν η έξοδος είναι ίδιας ανάλυσης με την είσοδο. Είναι δηλαδή υποπερίπτωση του γενικού αλγορίθμου.
Ναι θα βγάλεις καλή εικόνα, ωστόσο δεν είναι ο θεωρητικά ορθότερος τρόπος, γιατί αμα το σκεφτείς είναι απλά μέσος όρος της γειτονιάς. Ο bilinear έχει αποστάσεις για βάρη.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Επικο Burger on April 07, 2017, 00:51:44 am
Αυτό που λές ισχύει μόνο για όταν η έξοδος είναι ίδιας ανάλυσης με την είσοδο. Είναι δηλαδή υποπερίπτωση του γενικού αλγορίθμου.
Ναι θα βγάλεις καλή εικόνα, ωστόσο δεν είναι ο θεωρητικά ορθότερος τρόπος, γιατί αμα το σκεφτείς είναι απλά μέσος όρος της γειτονιάς. Ο bilinear έχει αποστάσεις για βάρη.

Κάτσε γιατι με σκαλωσες τωρα :P

Στην εργασία δεν λέει "θεωρείστε ότι οι φυσικές διαστάσεις της εικόνας δεν μεταβάλλονται"?

Εμείς χρησιμοποιούμε το bilinear μόνο για το demosaic της εικόνας. Ο original bilinear με βάρη την απόσταση και όπως το περιεγραψες, νομίζω έχει εφαρμογή στο rescaling της εικόνας και όχι στη δικη μας δουλειά.

Ουσιαστικά όπως το λες είναι, είναι δηλαδή υποπερίπτωση του γενικού αλγοριθμου, που όμως για το demosaic και μόνο, το βάρος κάθε pixel θα είναι πάντα ίσο με 1.

EDIT: πάντως ακόμα και αν θέλει να κάνει rescale, στην εργασία απαγορευει τη χρήση της interp1 ή 2 για το demosaic. Θεωρητικά μπορουμε να κανουμε rescale την εικόνα στο νέο μεγεθος με cubic interpolation μέσω της interp2, και μετά demosaic με την δική μας.
Παίζει όντως να θέλει rescale?


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: smlouver on April 07, 2017, 00:56:06 am
Η saveasppm ενώ για Κ<256 λειτουργεί σωστά για Κ>255 μου δημιουργεί χιόνια στην εικόνα.Ξέρει κανείς που είναι το λάθος???
 :-\


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Επικο Burger on April 07, 2017, 01:01:02 am
Η saveasppm ενώ για Κ<256 λειτουργεί σωστά για Κ>255 μου δημιουργεί χιόνια στην εικόνα.Ξέρει κανείς που είναι το λάθος???
 :-\

Προσεξε για K>=256 να κανεις fwrite με uint16 και big endian.
Code:
    
fwrite(fid,rgb,'uint16','b');


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: ReMi0s on April 07, 2017, 01:03:57 am
Κάτσε γιατι με σκαλωσες τωρα :P

Στην εργασία δεν λέει "θεωρείστε ότι οι φυσικές διαστάσεις της εικόνας δεν μεταβάλλονται"?

Εμείς χρησιμοποιούμε το bilinear μόνο για το demosaic της εικόνας. Ο original bilinear με βάρη την απόσταση και όπως το περιεγραψες, νομίζω έχει εφαρμογή στο rescaling της εικόνας και όχι στη δικη μας δουλειά.

Ουσιαστικά όπως το λες είναι, είναι δηλαδή υποπερίπτωση του γενικού αλγοριθμου, που όμως για το demosaic και μόνο, το βάρος κάθε pixel θα είναι πάντα ίσο με 1.

EDIT: πάντως ακόμα και αν θέλει να κάνει rescale, στην εργασία απαγορευει τη χρήση της interp1 ή 2 για το demosaic. Θεωρητικά μπορουμε να κανουμε rescale την εικόνα στο νέο μεγεθος με cubic interpolation μέσω της interp2, και μετά demosaic με την δική μας.
Παίζει όντως να θέλει rescale?

Παραθέτω mail απο τον υπεύθυνο.

Quote
Καλησπέρα,

Για το πρώτο ζητούμενο, οι φυσικές διαστάσεις της εικόνας δεν μεταβάλλονται, αλλά μεταβάλλεται η ανάλυση της (από M_0 x N_0 σε M x N). Δεν είναι σωστό να υποθέσεις ότι δεν μεταβάλλεται ούτε η ανάλυση, καθώς το ζητούμενο είναι να γίνει παρεμβολή σε ένα πλέγμα συντεταγμένων διαφορετικό από το πλέγμα των αισθητήρων.
Μφχ,
Βασίλης

Εγώ το εξέλαβα οτι οι φυσικές διαστάσεις μιλάνε για "Cropping" και η ανάλυση για resize.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Επικο Burger on April 07, 2017, 01:13:02 am
Παραθέτω mail απο τον υπεύθυνο.

Εγώ το εξέλαβα οτι οι φυσικές διαστάσεις μιλάνε για "Cropping" και η ανάλυση για resize.

Ακραιο ρε φίλε!

Δηλαδη θέλουν και resize, και demosaic μαζί, και επιπλέον αυτού τα 2 επόμενα ερωτηματα? Τρελαθηκαν? :P


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: ReMi0s on April 07, 2017, 01:18:06 am
Ακραιο ρε φίλε!

Δηλαδη θέλουν και resize, και demosaic μαζί, και επιπλέον αυτού τα 2 επόμενα ερωτηματα? Τρελαθηκαν? :p
Ακριβώς, σε επόμενο mail τον ρώτησα αν μπορούμε να κάνουμε πρώτα το demosaic με τους τύπους του μέσου όρου και σε επόμενο βήμα bilinear (μιας και μετά θα έχουμε 4 γειτονικά σημεία πάντα αφού θα έχει γεμίσει πλέον ο πινακας) για το resize.
Η απάντηση ήταν οτι μπορούμε , ωστόσο το ιδανικό είναι να γίνουν μαζί και τα δύο.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Επικο Burger on April 07, 2017, 04:00:44 am
Ακριβώς, σε επόμενο mail τον ρώτησα αν μπορούμε να κάνουμε πρώτα το demosaic με τους τύπους του μέσου όρου και σε επόμενο βήμα bilinear (μιας και μετά θα έχουμε 4 γειτονικά σημεία πάντα αφού θα έχει γεμίσει πλέον ο πινακας) για το resize.
Η απάντηση ήταν οτι μπορούμε , ωστόσο το ιδανικό είναι να γίνουν μαζί και τα δύο.

Ξεκαθαρα έτσι, τελευταια στιγμή να φτιαχνω resize :P


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Gaara on April 07, 2017, 13:59:26 pm
Στην αποκβάντιση τι αποτελεσμα θα πρεπει να έχουμε? Γενικά τι θέλει να κανουμε?


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: isitsou on April 07, 2017, 14:11:12 pm
Βασικο τα χρωματα να ειναι RGBRGBRGB... σε μια σειρα συνεχομενα χωρις κανενα κενο και νεες γραμμες οπως λεει ο ReMi0s.

Επίσης, νομιζω πιο καλα βγαινει χωρις for, απλα γραφοντας ολα τα χρωματα της εικονας σε ενα vector, δηλαδη [R(1,1) G(1,1) B(1,1) R(1,2) G(1,2) B(1,2) ...], και γραφοντας αυτό στο αρχείο.

Ευχαριστώ για τις απαντήσεις,έβγαλα άκρη τελικά. Τα κενά και τα ανάποδα w και h(όπως αναφέρθηκε) μου έκαναν τη ζωή πατίνι! Βασίστηκα στο παράδειγμα που έχει η εκφώνηση το:
"P6 1920 1080 255
\250\62\74\56\206\177\176\104\200\161\27\27\52\62 ... "
και νόμιζα πως παίρνει κενά...
:D πολύ βοηθητικό παράδειγμα :D


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Kthulu on April 07, 2017, 14:50:58 pm
Στο myquant εχει καταλαβει κανεις τι παιζει για αρνητική τιμή εισόδου;


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Gaara on April 07, 2017, 15:02:58 pm
Στο myquant εχει καταλαβει κανεις τι παιζει για αρνητική τιμή εισόδου;


Aπότι καταλαβα θελει να κανεις εναν κβαντιστη για τιμες εισοδου [-1,1] παρολο που κανενας τυπος εικονας δεν εχει αρνητικες τιμες.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Ροζ συννεφάκι on April 07, 2017, 15:27:47 pm
Ξέρουμε τι παίζει με την κωδικοποίηση UTF-8 που ζητάει; Πρέπει να σώσουμε τα αρχεία matlab σε αυτή τη μορφή; Και αν όχι απευθείας από το matlab (γιατί δεν ξέρω αν γίνεται) μέσω ενός editor κειμένου;


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: abadasa13 on April 07, 2017, 15:47:16 pm
Εγώ πέρυσι τα περνούσα σε Notepad και από εκεί save as και μετά διέγραφα κάτι έξτρα χαρακτήρες..
Δεν μπόρεσα να αλλάξω κωδικοποίηση σε Matlab (δε μ'άφηνε για κάποιο λόγο) οπότε το έκανα έτσι και δεν είχα θέμα (δε μου έιπε κάποιος κάτι).


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: abadasa13 on April 07, 2017, 15:48:34 pm
Aπότι καταλαβα θελει να κανεις εναν κβαντιστη για τιμες εισοδου [-1,1] παρολο που κανενας τυπος εικονας δεν εχει αρνητικες τιμες.

Δε νομίζω ότι η είσοδος είναι φραγμένη νομίζω ότι θέλει από - άπειρο εώς + άπειρο (δεν έχει διαφορά στην υλοποίηση ούτως ή άλλως).


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: abadasa13 on April 07, 2017, 15:49:39 pm
Sorry για τα 3 συνεχόμενα post

Ψήνει κανένας για παράταση; Μια δυο μέρες έστω! Μη στείλω μόνος μου mail στον Ντελο...


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: isitsou on April 07, 2017, 15:52:13 pm
Sorry για τα 3 συνεχόμενα post

Ψήνει κανένας για παράταση; Μια δυο μέρες έστω! Μη στείλω μόνος μου mail στον Ντελο...

Ναι ψήνω παράταση, έστω και μια μέρα θα κάνει μεγάλη διαφορά!


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Gaara on April 07, 2017, 15:53:54 pm
Πιστευω την ειχε ηδη στο προγραμμα. Ποιος βαζει deadline Παρασκευη?


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: abadasa13 on April 07, 2017, 16:00:04 pm
Εγώ πάντως τα 2 mail μόλις τα έστειλα γιατί κι εγώ το σκέφτηκα αυτό που λες αλλά αν δε ζητήσει κανείς παράταση νομίζω δεν έχει λόγο να δώσει.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Gaara on April 07, 2017, 16:01:42 pm
Στην αποκβάντιση τι αποτελεσμα θα πρεπει να έχουμε? Γενικά τι θέλει να κανουμε?



Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: ReMi0s on April 07, 2017, 16:06:53 pm
Άμα έχεις κβαντίσει τον πίνακα, τότε απλά πολλαπλασιάζεις το κάθε Pixel με το πλάτος ζώνης w και προσθέτεις w/2 για να γίνει η αποκβάντιση στην μέση της ζώνης κβαντισμού.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Gaara on April 07, 2017, 16:07:50 pm
Άμα έχεις κβαντίσει τον πίνακα, τότε απλά πολλαπλασιάζεις το κάθε Pixel με το πλάτος ζώνης w και προσθέτεις w/2 για να γίνει η αποκβάντιση στην μέση της ζώνης κβαντισμού.

Ok ty, αυτο ηθελα

Το range του κβαντιστη να ειναι δυναμικο με βαση την ελαχιστη και μεγιστη τιμη του πινακα που θελουμε να κβαντισουμε? Διοτι απο +-inf πως?


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Kthulu on April 07, 2017, 16:13:43 pm
Sorry για τα 3 συνεχόμενα post

Ψήνει κανένας για παράταση; Μια δυο μέρες έστω! Μη στείλω μόνος μου mail στον Ντελο...

ΝΑΙΙΙΙΙΙ


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Gaara on April 07, 2017, 16:51:50 pm
Άμα έχεις κβαντίσει τον πίνακα, τότε απλά πολλαπλασιάζεις το κάθε Pixel με το πλάτος ζώνης w και προσθέτεις w/2 για να γίνει η αποκβάντιση στην μέση της ζώνης κβαντισμού.

1.Το range του κβαντιστη να ειναι δυναμικο με βαση την ελαχιστη και μεγιστη τιμη του πινακα που θελουμε να κβαντισουμε? Διοτι απο +-inf πως?

2. Οκ αλλα οι δυο εικονες προφανως και θα μοιαζουν. (Κβαντισμενη και αποκβαντισμενη)


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: kmariosn on April 07, 2017, 17:22:17 pm
Μπορεί κάποιος να περιγράψει λίγο αναλυτικά τον κβαντισμό και τον αποκβαντισμό επειδή έχω μπερδευτεί πάνω σε αυτό το κομμάτι; Και τι θέλει να πει ο ποιητής στις κουκκίδες;

Sorry για τα 3 συνεχόμενα post

Ψήνει κανένας για παράταση; Μια δυο μέρες έστω! Μη στείλω μόνος μου mail στον Ντελο...

NAI


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: pilatos on April 07, 2017, 18:12:58 pm
Θελει να πει οτι οταν ο αριθμος εισοδου ανηκει στο [0,w) τοτε στειλτο στο 0. Οταν ανηκει στο [-w,0) στειλτο στο προηγουμενο του 0, δηλαδη στον μεγαλυτερο αρνητικο.  Οι θετικοι αριθμοι θα πηγαινουν σε θετικες σταθμες και οι αρνητικοι σε αρνητικες. Για παραδειγμα αμα κβαντισεις το διανυσμα [-0,1 -0,9 0 0,3] με w=0.25, θα πρεπει να παρεις το διανυσμα [-1 -4 0 1 ]


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Επικο Burger on April 07, 2017, 18:26:35 pm
Ξέρουμε τι παίζει με την κωδικοποίηση UTF-8 που ζητάει; Πρέπει να σώσουμε τα αρχεία matlab σε αυτή τη μορφή; Και αν όχι απευθείας από το matlab (γιατί δεν ξέρω αν γίνεται) μέσω ενός editor κειμένου;

https://www.mathworks.com/help/simulink/slref/slcharacterencoding.html

Εμένα default ήταν UTF-8. Νομίζω ειναι το default γενικά.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: kmariosn on April 07, 2017, 18:29:41 pm
Θελει να πει οτι οταν ο αριθμος εισοδου ανηκει στο [0,w) τοτε στειλτο στο 0. Οταν ανηκει στο [-w,0) στειλτο στο προηγουμενο του 0, δηλαδη στον μεγαλυτερο αρνητικο.  Οι θετικοι αριθμοι θα πηγαινουν σε θετικες σταθμες και οι αρνητικοι σε αρνητικες. Για παραδειγμα αμα κβαντισεις το διανυσμα [-0,1 -0,9 0 0,3] με w=0.25, θα πρεπει να παρεις το διανυσμα [-1 -4 0 1 ]

Ευχαριστώ πολύ!  :D


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: ReMi0s on April 07, 2017, 19:12:48 pm
1.Το range του κβαντιστη να ειναι δυναμικο με βαση την ελαχιστη και μεγιστη τιμη του πινακα που θελουμε να κβαντισουμε? Διοτι απο +-inf πως?

2. Οκ αλλα οι δυο εικονες προφανως και θα μοιαζουν. (Κβαντισμενη και αποκβαντισμενη)
Δεν θα μοιάζουν... αν προσπαθήσεις να διαβάσεις την κβαντισμένη εικόνα δεν θα σου βγάζει καλά αποτελέσματα. Εκτός ίσως αν την κβαντίσεις με 256 στάθμες κβαντισμού και μετατρέψεις το q=uint8(q);
Τώρα αν εννοούσες οτι η αποκβαντισμένη πρέπει να μοιάζει με την αρχική εικόνα, ναι οπωσδήποτε. Απλά άν η κβάντιση έχει γίνει για λίγα bit θα χάνεις σε λεπτομέρια.

Όσον αφορά αυτό για το range, αν καταλαβαίνω τι λές πιστεύω πως δεν γίνεται με βάση τα ορίσματα που σου ζητάει να έχουν οι συναρτήσεις... Γιατί πως θα βρείς το range κατα την αποκβάντιση; Που ξέρεις οτι δεν είναι 1 το μέγιστο και είναι 0.93213123;
Οπότε παίρνεις σταντέ [0,1]


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Kthulu on April 07, 2017, 19:26:59 pm
Η εικόνα που δημιουργείται από την saveasppm πρεπει να είναι ίδια με τν κανονική εικόνα ή απλώς να μοιαζει λίγο;


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: ReMi0s on April 07, 2017, 19:27:58 pm
Η εικόνα που δημιουργείται από την saveasppm πρεπει να είναι ίδια με τν κανονική εικόνα ή απλώς να μοιαζει λίγο;
Πρέπει να είναι ίδια ή πολύ κοντά τουλάχιστον με την αποκβαντισμένη εικόνα.
Αν εσύ έχεις κάνει κβάντιση για 3 bit δλδ w=0.125 τότε θα μοιάζει με την αρχική απλά με λιγότερες λεπτομέριες.

Επισυνάπτω και φωτογραφίες.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: abadasa13 on April 07, 2017, 19:55:55 pm
Kthulu, κάτι που ίσως (λέω εγώ) να μην έχεις προσέξει είναι ότι στο saveasppm βάζεις την εικόνα που έχεις ως έξοδο από την imagequant.

(Εγώ στην αρχή έβαζα την αρχική :D )

Επίσης σε εμένα τα χρώματα έβγαιναν ΟΠΩΣ ΝΑ'ΝΑΙ και τελικά έφταιγε ότι έπρεπε να αφήσω μία έξτρα σειρά πριν βάλω τα δείγματα των χρωμάτων.

Αν βγάζει σκουπίδια (πρακτικά δηλαδή δε βλέπεις εικόνα), κάτι παίζει με το πως βάζεις τα δεδομένα.

ΕΙΔΙΚΑ αν το σηκώνει το pc σου και τρέχει γρήγορα, βάλε μικρή εικόνα και πέθανέ το στις δοκιμές.
Εγώ ακόμα θα πάλευα αυτή την ενότητα αν προσπαθούσα να βγάλω άκρη απλά με σκέψη τι έκανα λάθος...


Υ.Γ. Όποιος θέλει να πάρει παράταση η εργασία, ξαναλέω, ας στείλει και mail στον Ντελόπουλο (ο Παπαπαναγιώτου είπε ότι δεν είναι ο ίδιος υπεύθυνος
για παρατάσεις). Αλλιώς με δύο τρία mail δε νομίζω να γίνει δουλειά.

Υ.Γ.2 Πανζουρλισμός, μέχρι τις 23:57 θα γράφω αναφορά...


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Kthulu on April 07, 2017, 20:04:54 pm
Kthulu, κάτι που ίσως (λέω εγώ) να μην έχεις προσέξει είναι ότι στο saveasppm βάζεις την εικόνα που έχεις ως έξοδο από την imagequant.

(Εγώ στην αρχή έβαζα την αρχική :D )

Επίσης σε εμένα τα χρώματα έβγαιναν ΟΠΩΣ ΝΑ'ΝΑΙ και τελικά έφταιγε ότι έπρεπε να αφήσω μία έξτρα σειρά πριν βάλω τα δείγματα των χρωμάτων.

Αν βγάζει σκουπίδια (πρακτικά δηλαδή δε βλέπεις εικόνα), κάτι παίζει με το πως βάζεις τα δεδομένα.

ΕΙΔΙΚΑ αν το σηκώνει το pc σου και τρέχει γρήγορα, βάλε μικρή εικόνα και πέθανέ το στις δοκιμές.
Εγώ ακόμα θα πάλευα αυτή την ενότητα αν προσπαθούσα να βγάλω άκρη απλά με σκέψη τι έκανα λάθος...


Υ.Γ. Όποιος θέλει να πάρει παράταση η εργασία, ξαναλέω, ας στείλει και mail στον Ντελόπουλο (ο Παπαπαναγιώτου είπε ότι δεν είναι ο ίδιος υπεύθυνος
για παρατάσεις). Αλλιώς με δύο τρία mail δε νομίζω να γίνει δουλειά.

Υ.Γ.2 Πανζουρλισμός, μέχρι τις 23:57 θα γράφω αναφορά...

Σε ευχαριστώ! Τελικά το λάθος που έκανα είναι ότι έβαζα την αποκβαντισμένη εικόνα και έπαιρνα ότι να ναι, αλλά τώρα κομπλε!

Έστειλα κι εγω mail


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Kthulu on April 07, 2017, 20:41:36 pm
Εχει καταλάβει κανείς στην αναφορά τι ακριβώς πρέπει να βάλουμε;


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: abadasa13 on April 07, 2017, 20:57:37 pm
Εγώ περιγράφω τον τρόπο επίλυσης του προβλήματος. Δηλαδή τι περιγράφουν οι μεταβλητές που χρησιμοποιώ, πώς μετράω τις αποστάσεις, πώς αποφεύγω σφάλματα κλπ...
Ό,τι γράψεις καλό είναι. Γενικά κόβει ο Παπαπαναγιώτου από αναφορές οπότε μην είσαι - είστε λακωνικοί (αού).


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Kthulu on April 07, 2017, 21:04:29 pm
Ναι οκ εγώ το λέω από την άποψη τι πειραματισμούς πρέπει να κάνουμε στο Matlab για να τους βαλουμε στην αναφορά


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: abadasa13 on April 07, 2017, 21:06:11 pm
Ε πέρα από ένα που σου ζητάει ρητά (στο 3ο μέρος νομίζω), μετά βάλε ό,τι θες, υποθέτω δεν έχει σημασία. Όσα βάλεις τόσο καλύτερα.


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Ροζ συννεφάκι on April 07, 2017, 21:35:11 pm
Κάποιος που να έχει βγάλει άκρη για το πλέγμα δειγματοληψίας; Σύμφωνα με τη θεωρία πάντα, όχι ο,τι καταλαβαίνει...


Title: Re: [Ψηφιακή Επεξεργασία Εικόνας] 1η Εργασία 2017
Post by: Gaara on April 07, 2017, 21:42:51 pm
Αν δεις την θεωρία απο τα πολυμέσα και γραφική πρέπει να αναφέρεται στους πίνακες Τ (2x2).