Βοήθεια σε εργασία Matlab

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

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
astralreb
Δημοσιεύσεις: 4
Εγγραφή: 17 Μάιος 2011 23:15

Βοήθεια σε εργασία Matlab

Δημοσίευση από astralreb » 22 Ιουν 2012 15:36

Καλησπέρα,

Έχω να εκπληρώσω μια εργασία σε matlab σχετικά με συμπίεση video και αντιστάθμιση κίνησης. O λόγος που ζητώ βοήθεια είναι ότι επέλεξα αυτό το μάθημα, ως μάθημα επιλογής από άλλο τμήμα, ενώ το τμήμα μου είναι οικονομικό με αποτέλεσμα να μην ξέρω καθόλου από matlab. Έχω ψάξει πάρα πολύ και έχω μάθει τα βασικά στη matlab, ωστόσο δυσκολεύομαι να υλοποιήσω την εργασία. Φυσικά δεν ζητάω έτοιμες λύσεις, απλά μια βοήθεια στο τι να ψάξω και τι να μάθω.

Στο πρώτο μέρος της εργασίας ζητήται η πρόβλεψη p-πλαισίου με βάση το προηγούμενο και η υλοποίηση μιας συνάρτησης που θα υπολογίζει την διαφορά τους και θα επιστρέφει ένα πλαίσιο σφαλμάτων.
Μετά από πολύ ψάξιμο βρήκα στο διαδίκτυο τον ακόλουθο κώδικα:

Κώδικας: Επιλογή όλων

% TemporalPredict.m
% Computes the difference between two successive
% frames in an image sequence using either
% simple differencing or optimal linear prediction.
% Parameter "DiffType" can be "simple" for simpledifferencing or
% "optimal" for optimal prediction. Refer to Eq. (9-8)
% for the coefficient value.


clear
inFile1 = ’tt040.ras’;% table tennis sequence
inFile2 = ’tt041.ras’;%inFile1 = ’twy039.ras’;
% Trevor sequence
%inFile2 = ’twy040.ras’;
%inFile1 = ’clairey030.yuv’; 
% Claire sequence%inFile2 = ’clairey031.yuv’;
A = imread(inFile1); % frame #1
B = imread(inFile2); % frame #2
[Height,Width] = size(A);
DiffType = ’optimal’; % options: "simple" and "optimal"
% simple temporal differencing
switch DiffType
   case ’simple’
        pf = double(B) - double(A);
   case ’optimal’
        A1 = double(A)-mean2(double(A)); % remove the
             mean of ref. frame
        B1 = double(B)-mean2(double(B)); % remove the 
             mean of current frame


V = sum(sum((double(A)-mean2(double(A))).*...
    (double(A)-mean2(double(A))))); % calculate
    the sum of
% squares of the mean removed reference frame
a = sum(sum(A1 .* B1))/V;
pf = double(B) - a*double(A); % calculate the
     prediction error
end
figure, subplot(2,2,1), imshow(A),title(’1st frame’)
subplot(2,2,2), imshow(B),title(’2nd frame’)
sprintf([’MSE with ’ DiffType ’ temporal
differencing = %3.3f’],std2(pf)*std2(pf))
subplot(2,2,3),imshow(pf,[]),title(’difference frame’)
[hMC,BinMC] = hist(pf,256);
subplot(2,2,4),plot(BinMC,hMC,’k’),title(’histogram’)
Το βασικό μου ερώτημα είναι πως θα μπορέσω να υλοποιήσω το ζητούμενο, αφού υστερώ σε βασικές γνώσεις όπως πως θα ορίσω τα πλαίσια, πως θα τα εξάγω κτλ.

Οποιαδήποτε πληροφορία και υπόδειξη κατεύθυνσης θα είναι πολύ χρήσιμη[/code]

Απάντηση

Επιστροφή στο “γλώσσες προγραμματισμού - γενικά”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες