Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Insomniacs την βοηθεια σας.

 

 

Εχουμε μια ομαδικη εργασια στο τει,η οποια πρεπει να παιρνει ως ορισμα το ονομα ενος αρχειου(εικονα) της μορφης TGA και να την μετατρεπει σε gray scale και ασπρομαυρη.

 

Η εκφωνηση μας δινει οτι:"Η μετατροπή της εικόνας από έγχρωμη σε gray-scale θα πρέπει να γίνει σύμφωνα με τον παρακάτω τύπο:Gray = 0.299 * Red + 0.587 * Green + 0.114 * Blue"

 

και οτι:Η μετατροπή της εικόνας από gray-scale σε ασπρόμαυρη θα πρέπει να γίνει σύμφωνα με

την τεχνική του dithering, κατά την οποία κάθε pixel αποκτά την πιο κοντινή διαθέσιμη τιμή

αλλά υπάρχει και διάχυση του σφάλματος κβάντισης σύμφωνα με τον παρακάτω τύπο (με *

απεικονίζεται το τρέχον pixel που επεξεργάζεται):

1/16| * 7 |(αυτον τον τυπο δειτε τον καλυτερα την wiki σε λινκ παρακατω,διοτι εδω δεν φαινεται καλα)

| 3 5 1 |

 

 

Πληροφοριες για το tga format εδωκαι εδω.Πληροφοριες για το dithering εδω.

 

Ολο το προγραμμα θα γινει σε C και συγκεκριμενα σε τερματικο linux(ετσι δουλευουμε στο εργαστηριο).

 

 

Το θεμα ειναι οτι: Α) Το μαθημα κανονικα ητανε αλυσιδα και ετσι αποχτουσαμε μια βαση απο προηγουμενα μαθηματα.Φετος το μαθημα αλλαξε και "εσπασαν" οι αλυσιδες.Οποτε ουσιαστικα ειμαστε πολλα ατομα που το παιρνουμε πρωτη φορα και ταυτοχρονα ειμαστε παντελως ασχετοι απο C.

 

Β)Λογω απεργιων εχουμε κανει μονο ενα μαθημα,στο οποιο προφανως δεν μαθαμε και κατι το οποιο μπορει να μας βοηθησει.

 

Οι καθηγητες ως γνωστων δεν τους ενδιαφερει και πολυ.

 

Πραγματικα εχω ψαξει τα παντα και δεν μπορω να τρεξω-φτιαξω το προγραμμα.Αρχικα δεν γνωριζω καν πως φτιαχνω ενα προγραμμα στο τερματικο ωστε μετα να του "πω" να το τρεξει και να μας βγαλει αποτελεσματα.

 

Αν παιζει καποιο ρολο εχω την τελευταια εκδοση ubuntu στο pc.

 

 

Πραγματικα εαν καποιος γνωριζει και μπορει να μας βοηθησει θα το εκτιμησω αφανταστα.

Δημοσ.

Σε ωραία κατάσταση σε έχει το ΤΕΙ....

 

Κοίτα,να κάνεις αυτό που ζητάς χωρις να έχεις γραψει ούτε μια γραμμή κωδικα είναι δυσκολο ως αδύνατο.Σε γενικές γραμμές για τις εικόνες έχω να σου πω τα εξης:Κάθε αρχειο εικόνας targa περιέχει ένα μικρό αριθμό από bytes που σου λενε διάφορες πληροφορίες για την εικόνα και μετά έχει τα pixels της εικόνας στη μορφή RGB( red,green,blue).Κάθε κανάλι χρώματος είναι ενα byte.

 

Το πως μεταφράζεις το πρόγραμμα από το terminal θα μπορούσες να το βρεις εύκολα με μια αναζήτηση στο google.Μάλλον δεν έψαξες τα πάντα: http://lmgtfy.com/?q=how+to+compile+a+c+program+on+ubuntu

Δημοσ.

Insomniacs την βοηθεια σας.

 

 

Εχουμε μια ομαδικη εργασια στο τει,η οποια πρεπει να παιρνει ως ορισμα το ονομα ενος αρχειου(εικονα) της μορφης TGA και να την μετατρεπει σε gray scale και ασπρομαυρη.

 

Η εκφωνηση μας δινει οτι:"Η μετατροπή της εικόνας από έγχρωμη σε gray-scale θα πρέπει να γίνει σύμφωνα με τον παρακάτω τύπο:Gray = 0.299 * Red + 0.587 * Green + 0.114 * Blue"

 

και οτι:Η μετατροπή της εικόνας από gray-scale σε ασπρόμαυρη θα πρέπει να γίνει σύμφωνα με

την τεχνική του dithering, κατά την οποία κάθε pixel αποκτά την πιο κοντινή διαθέσιμη τιμή

αλλά υπάρχει και διάχυση του σφάλματος κβάντισης σύμφωνα με τον παρακάτω τύπο (με *

απεικονίζεται το τρέχον pixel που επεξεργάζεται):

1/16| * 7 |(αυτον τον τυπο δειτε τον καλυτερα την wiki σε λινκ παρακατω,διοτι εδω δεν φαινεται καλα)

| 3 5 1 |

 

 

Πληροφοριες για το tga format εδωκαι εδω.Πληροφοριες για το dithering εδω.

 

Ολο το προγραμμα θα γινει σε C και συγκεκριμενα σε τερματικο linux(ετσι δουλευουμε στο εργαστηριο).

 

 

Το θεμα ειναι οτι: Α) Το μαθημα κανονικα ητανε αλυσιδα και ετσι αποχτουσαμε μια βαση απο προηγουμενα μαθηματα.Φετος το μαθημα αλλαξε και "εσπασαν" οι αλυσιδες.Οποτε ουσιαστικα ειμαστε πολλα ατομα που το παιρνουμε πρωτη φορα και ταυτοχρονα ειμαστε παντελως ασχετοι απο C.

 

Β)Λογω απεργιων εχουμε κανει μονο ενα μαθημα,στο οποιο προφανως δεν μαθαμε και κατι το οποιο μπορει να μας βοηθησει.

 

Οι καθηγητες ως γνωστων δεν τους ενδιαφερει και πολυ.

 

Πραγματικα εχω ψαξει τα παντα και δεν μπορω να τρεξω-φτιαξω το προγραμμα.Αρχικα δεν γνωριζω καν πως φτιαχνω ενα προγραμμα στο τερματικο ωστε μετα να του "πω" να το τρεξει και να μας βγαλει αποτελεσματα.

 

Αν παιζει καποιο ρολο εχω την τελευταια εκδοση ubuntu στο pc.

 

 

Πραγματικα εαν καποιος γνωριζει και μπορει να μας βοηθησει θα το εκτιμησω αφανταστα.

 

 

Φίλε μου είσαι τυχερός μιας και η δουλειά μου σε κάποια σημεία έχει να κάνει και με DSP οπότε έχω ψάξει αντίστοιχα θέματα.

 

Δεν είναι ανάγκη να πεθάνεις για να φτιάξεις αυτό που θες.

 

Σου παραθέτω links με την καλύτερη FOSS lib για ότι ανάγκη και να έχεις:

http://opencv.org/

http://docs.opencv.org/

 

Έχει γραφτεί από community πολύ εξειδικευμένο στο χώρο και σε C/C++ θα σου λύσει τα χέρια πολύ εύκολα!

 

Σε καταλαβαίνω για το μπάχαλο των Τ.Ε.Ι και σου συμπαραστέκομαι γιατί και εγώ από εκεί ξεκίνησα.

 

Καλή μάχη!!!

Δημοσ.

Σας δίνει κάποιο sample αρχείο ? Υποθέτω ότι η άσκηση για να είναι εύκολη θα δίνει απλό 24bit αρχείο tga. Έτσι δεν έχει παλέτες, συμπιέσεις και χαζομάρες.

 

Διαβάζεις το header στην αρχή από το οποίο ουσιαστικά θα πάρεις μόνο την Χ και Υ διάσταση και έπειτα έχεις ένα κάρο bytes Χ*Υ*3 στον αριθμό δηλαδή 3 bytes για κάθε pixel. Διαβάζεις τρία-τρία τα bytes και με τον αλγόριθμο που σου δίνει 0.299*Red+κτλ βγάζεις το νέο χρώμα του pixel το οποίο γράφεις στο 2ο αρχείο. Φυσικά θα πρέπει να γράψεις και τον header στο 2ο αρχείο το οποίο είναι ολόιδιο με το αρχικό header σου με αλλαγή μόνο σε ένα byte για να δηλώσεις ότι έχεις grayscale.

 

Αν έχει παλέτα και συμπίεση αλλάζει το πράγμα αλλά αποκλείεται να έχει.

 

Edit: Δεν χρειάζεται opencv και τρελές βιβλιοθήκες ρε παιδιά (άσε που αποκλείεται να δεχτεί ο καθηγητής άσκηση που απλά καλεί μια βιβλιοθήκη για να κάνει την μετατροπή). Η κλασική άσκηση "άνοιξε αρχείο, διάβασε buffer, πείραξε buffer, σώσε σε 2ο αρχείο" είναι απλά με φανταχτερή εκφώνηση. Αν δεν υπήρχε το πρόβλημα του op να μην έχουν κάνει μαθήματα θα την έβγαζε αμέσως. Το 2ο link μάλιστα δίνει τον header κατευθείαν σε δομή για C.

  • Like 4
Δημοσ.

Μια αρχή θα ήταν να πέσετε με τα μούτρα στον κώδικα του ImageMagick.

 

http://www.imagemagick.org

 

Χωρίς γνώση της C όμως θα δυσκολευτείτε αρκετά να ολοκληρώσετε το project.

Κοιτα το προτζεκτ πρεπει να το παρουσιασουμε μεχρι την αλλην δευτερα.Επειδη τρεχουν πολλες εργασιες απο αλλα μαθηματα και ταυτοχρονα βαραμε κατι 8ωρα στο τει καθημερινα ειναι λιγο δυσκολο να πεσουμε με τα μουτρα στον κωδικα.

 

Σε ευχαριστω για την απαντηση σου.

 

Σε ωραία κατάσταση σε έχει το ΤΕΙ....

 

Κοίτα,να κάνεις αυτό που ζητάς χωρις να έχεις γραψει ούτε μια γραμμή κωδικα είναι δυσκολο ως αδύνατο.Σε γενικές γραμμές για τις εικόνες έχω να σου πω τα εξης:Κάθε αρχειο εικόνας targa περιέχει ένα μικρό αριθμό από bytes που σου λενε διάφορες πληροφορίες για την εικόνα και μετά έχει τα pixels της εικόνας στη μορφή RGB( red,green,blue).Κάθε κανάλι χρώματος είναι ενα byte.

 

Το πως μεταφράζεις το πρόγραμμα από το terminal θα μπορούσες να το βρεις εύκολα με μια αναζήτηση στο google.Μάλλον δεν έψαξες τα πάντα: http://lmgtfy.com/?q...ogram on ubuntu

Κοιτα την "λογικη" του προγραμματισμου ας πουμε την εχω.Ενταξει δεν ειμαι στο επιπεδο να φτιαξω προγραμμα πολλων γραμμων,αλλα εχω περασει αρκετα προηγουμενα μαθηματα με αλλες γλωσσες στις οποιες τα πηγαινα αρκετα καλα.Απλα αν χωρις κανενα μαθημα σου δινουν μια ξερη εκφωνηση σε μια γλωσσα που δεν γνωριζεις(μονο στο δευτερο εξαμηνο ειχαμε κανει πολυ λιγο C++,κατι πανευκολα πραγματα με επαναληψεις κτλ),μετα ειναι κομματακι δυσκολο να κανεις κατι.

 

Ευχαριστω και εσενα για την απαντηση σου,και απο οτι φαινεται οντως δεν εκανα και πολυ καλο ψαξιμο. :-)

Δημοσ.

Επίσης άνοιξε μερικά αρχεία με hex-editor για να καταλάβεις καλύτερα τη δομή του header, και ποια bytes θα χρειαστείς για να κάνεις το dithering

Δημοσ.

Φίλε μου είσαι τυχερός μιας και η δουλειά μου σε κάποια σημεία έχει να κάνει και με DSP οπότε έχω ψάξει αντίστοιχα θέματα.

 

Δεν είναι ανάγκη να πεθάνεις για να φτιάξεις αυτό που θες.

 

Σου παραθέτω links με την καλύτερη FOSS lib για ότι ανάγκη και να έχεις:

http://opencv.org/

http://docs.opencv.org/

 

Έχει γραφτεί από community πολύ εξειδικευμένο στο χώρο και σε C/C++ θα σου λύσει τα χέρια πολύ εύκολα!

 

Σε καταλαβαίνω για το μπάχαλο των Τ.Ε.Ι και σου συμπαραστέκομαι γιατί και εγώ από εκεί ξεκίνησα.

 

Καλή μάχη!!!

 

Ευχαριστω,θα τα τσεκαρω αυριο γιατι σημερα βαρεσα 10ωρακι στο τει και ειμαι κομματια.

Σας δίνει κάποιο sample αρχείο ? Υποθέτω ότι η άσκηση για να είναι εύκολη θα δίνει απλό 24bit αρχείο tga. Έτσι δεν έχει παλέτες, συμπιέσεις και χαζομάρες.

 

Διαβάζεις το header στην αρχή από το οποίο ουσιαστικά θα πάρεις μόνο την Χ και Υ διάσταση και έπειτα έχεις ένα κάρο bytes Χ*Υ*3 στον αριθμό δηλαδή 3 bytes για κάθε pixel. Διαβάζεις τρία-τρία τα bytes και με τον αλγόριθμο που σου δίνει 0.299*Red+κτλ βγάζεις το νέο χρώμα του pixel το οποίο γράφεις στο 2ο αρχείο. Φυσικά θα πρέπει να γράψεις και τον header στο 2ο αρχείο το οποίο είναι ολόιδιο με το αρχικό header σου με αλλαγή μόνο σε ένα byte για να δηλώσεις ότι έχεις grayscale.

 

Αν έχει παλέτα και συμπίεση αλλάζει το πράγμα αλλά αποκλείεται να έχει.

 

Edit: Δεν χρειάζεται opencv και τρελές βιβλιοθήκες ρε παιδιά (άσε που αποκλείεται να δεχτεί ο καθηγητής άσκηση που απλά καλεί μια βιβλιοθήκη για να κάνει την μετατροπή). Η κλασική άσκηση "άνοιξε αρχείο, διάβασε buffer, πείραξε buffer, σώσε σε 2ο αρχείο" είναι απλά με φανταχτερή εκφώνηση. Αν δεν υπήρχε το πρόβλημα του op να μην έχουν κάνει μαθήματα θα την έβγαζε αμέσως. Το 2ο link μάλιστα δίνει τον header κατευθείαν σε δομή για C.

Το προγραμμα δεν πρεπει να ειναι δυσκολο γιατι ουσιαστικα το βασικο που ζηταει η εργασια ειναι να κανουμε ενα σειριακο προγραμμα που θα κανει τα παραπανω.Μετα υποτιθεται θα μαθουμε για παραλληλα προγραμματα.

 

 

Απλα ολοι οι ιδιο εξαμηνιτες με εμενα ειμαστε στην φαση να βρουμε "καποιον που ξερει".Εγω με ενα παιδι δυστυχως ειμαστε σε ομαδα που "δεν ξερει",οποτε ψαχνουμε εδω και εκει βοηθεια.

 

Ευχαριστω ολους για την βοηθεια σας,οτι απορια εχω θα την γραψω αυριο βραδυ που θα δουμε ξανα την εργασια με την ομαδα με την βοηθεια οσων μας δωσατε.

Δημοσ.

Αν και λιγο καθυστερημενα,τελικα βρηκαμε ατομο για την ομαδα που γνωριζει απο C οποτε θα ασχοληθει αυτος και ταυτοχρονα θα μας την εξηγει.

 

Ευχαριστω ξανα τα παιδια που προσφερθηκαν να βοηθησουν.

 

 

Καλημερα.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...