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

Κλήση winrar απο το matlab..


ekaiomen

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

Δημοσ.

θα ήθελα να ρωτήσω πώς μπορώ να καλέσω το winrar μέσα απο το matlab ωστε να συπιέσω έναν πίνακα που θέλω.. Απότερος σκοπός το να μπορέσω να πάρω πληροφορίες μέσα απο αυτό , όπως πχ αριθμό bytes και να κάνω διάγραμμα PSNR με BPP .. O πίνακας που αναφέρομαι ουσιαστικά είναι μια εικόνα την οποία έχω επεξεργαστεί και φέρει σε μια μορφή μονοδιάστατου πίνακα ώστε να κάνω μια ας το πούμε πιο πολύπλοκη κωδικοποίηση αυτής.. Ευχαριστώ εκ των προτέρων για τον χρόνο σας...

Δημοσ.
θα ήθελα να ρωτήσω πώς μπορώ να καλέσω το winrar μέσα απο το matlab ωστε να συπιέσω έναν πίνακα που θέλω.. Απότερος σκοπός το να μπορέσω να πάρω πληροφορίες μέσα απο αυτό , όπως πχ αριθμό bytes και να κάνω διάγραμμα PSNR με BPP .. O πίνακας που αναφέρομαι ουσιαστικά είναι μια εικόνα την οποία έχω επεξεργαστεί και φέρει σε μια μορφή μονοδιάστατου πίνακα ώστε να κάνω μια ας το πούμε πιο πολύπλοκη κωδικοποίηση αυτής.. Ευχαριστώ εκ των προτέρων για τον χρόνο σας...

 

E.... Ο πινακας σου δεν ειναι αποθηκευμενος σε καποια μεταβλητη? Σωσε τον σαν .mat και μετα κανε οτι θες! :-)

Δημοσ.
Οχι θέλω να το καλώ απο το matlab.. Πχ μέσω της system.. κάπου το είχα δει αλλά δεν το βρίσκω..

 

Αν βάλεις ένα θαυμαστικό (!) μπορείς μετά να εκτελέσεις εντολές του λειτουργικού. π.χ.

!copy g.mat a.mat

Οπότε έτσι θα μπορέσεις να εκτελέσεις το winzip δίνοντας την πλήρη διαδρομή του εκτελέσιμου. Λογικά θα πρέπει να συμπεριλάβεις δίπλα στην εντολή εκτέλεσης του winzip κάποιες παραμέτρους ώστε η συμπίεση να γίνει αυτόματα στο όνομα αρχείου που θα το δηλώσεις (ώστε να μην σου ανοίξει απλά το πρόγραμμα). Αυτό θέλει λίγο ψάξιμο... (αφορά καθαρά το zip πρόγραμμα και τι επιλογές σου δίνει όταν τρέχει από το command line)

Δημοσ.
Ναι , κατι τέτοια θέλω.. Άρα αν κατάλαβα το ψάχνω περισσότερο μέσα απο το help του winrar ...

 

Ακριβός... Κάνε και ένα search στο Internet αν δεν βρεις τίποτα στο help του winrar. Έβαλα στο google "winrar command line" και βρήκα αρκετά πραγματάκια, κοίτα και εσύ.

Δημοσ.

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

 

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

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

 

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

 

Μετα χρησιμοποιείς την εντολή plot (help plot για περισσοτερα) και φτιαχνεις το διαγραμμα σου που ειναι σε μορφή .fig και αν θες το σωζεις και σαν εικονα (εχει διαφορα format να επιλεξεις). :-)

Δημοσ.

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

Δημοσ.

Μάλλον βλακεία είπα.. Φτιάχνω λογικά ένα loop στο πρόγραμμά μου το οποίο κάθε φορά υπολογίζει το BPP και το αντίστοιχο PSNR , το τρέχω πχ 20 φορές και κρατώντας τις τιμές φτιάχνω το ζητούμενο διάγραμμα.. Σωστός;

Δημοσ.
Μάλλον βλακεία είπα.. Φτιάχνω λογικά ένα loop στο πρόγραμμά μου το οποίο κάθε φορά υπολογίζει το BPP και το αντίστοιχο PSNR , το τρέχω πχ 20 φορές και κρατώντας τις τιμές φτιάχνω το ζητούμενο διάγραμμα.. Σωστός;

 

Σωστος αν εγραφες π.χ. C, στο Matlab απλα μπορεις να κανεις αυτο:

 

>
x=[-pi:0.01:pi];
y=sinc(x); % αυτη μπορει να ειναι π.χ. η συναρτηση σου
plot(x,y)

 

Ενα απλο παραδειγμα για να καταλαβεις οτι δεν χρειαζεσαι for loop (σε ειδικες περιπτωσεις μονο) και το προσαρμοζεις αναλογα. :-)

Δημοσ.

Λοιπόν επανέρχομαι..

Ο τρόπος που θέλω να καλέσω το matlab ειναι :

name= [' διαδρομη στην οποια βρισκεται το αρχειο που θέλω να συμπιέσω' ]

progname=[ ' διαδρομή που είναι το winrar a (pou simenei prosthiki arxeiou) - m5

(pou simainei aristi sibiesi) διαδρομη/ονομα αρχειου μετα την συμπίεση

(πχ ..../αρχειο.rar) ' ]

 

[status curdir]=system([progname name]);

 

και μετά απο αυτό να έκανα

info=dir(διαδρομη..../αρχειο.rar);

fsize=info.bytes;

 

και έτσι να έπερνα τα bytes του συμπιεσμένου αρχείου ..

Θεωρητικά και βάση όσον βρήκα θα έπρεπε να δούλευε.. Μπορεί να μου πει κάποιος γιατί δεν δουλεύει;;;:-(

  • 2 εβδομάδες αργότερα...
Δημοσ.

Συγνώμη αν σου σου αλλάζω τον τρόπο σκέψης, αλλά υπάρχουν η zip και η tar commands, πχ:

 

>file = fullfile(matlabroot,'demos','guide.viewlet');
zip('d:/mymfiles/viewlet.zip',file)

 

Τις δοκίμασες και δε σε βολεύουν;

Αρχειοθετημένο

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

  • Δημιουργία νέου...