ضغط الفيديو في الماتلاب


(system) #1

السلام عليكم ورحمة الله وبركااته

إخواني …عندي موضوع في الماتلاب عاملي دووشة شوي
اللي هو ضغط الفيديو بالماتلاب أبغى أعرف إيش الأكواد المستخدمة ؟


#2

ياريت توضح الموضوع أكتر يعنى ايه ضغط الفيديو ؟


(system) #3

Motion Estimation

أنا أريد كود يعمل الآتي :
إحضار صورتين من فيديو للماتلاب وأعمل مقارنه بينهم لمعرفة الإختلاف و absolute error وأستنتج الصورة التآلية اللتي تحتوي على الأسهم يمعنى آخر المخرج للكود هو إستنتاج الMotion

[](http://store2.up-00.com/Mar11/2hU79646.bmp)


#4

للاسف ليس عندى خلفيه عن هذا الموضوع من الافضل انك تبدا فى العمل وان شاء الله ممكن اساعدك لو واجهت اى مشلكة


(system) #5

السلام عليكم …

أنا عملت هذا الكود

[FONT=Monospaced][SIZE=2][COLOR=#228b22][FONT=Monospaced][SIZE=2][COLOR=#228b22][FONT=Monospaced][SIZE=2][COLOR=#228b22]
%f1: anchor frame; f2: target frame, fp: predicted image;
%mvx,mvy: store the MV image
%widthxheight: image size; N: block size, R: search range
% إدخال صورتين
[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][FONT=Monospaced][SIZE=2]f1 = imread([/size][/font][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#a020f0][FONT=Monospaced][SIZE=2][COLOR=#a020f0][FONT=Monospaced][SIZE=2][COLOR=#a020f0]'1.jpg'[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][FONT=Monospaced][SIZE=2]);
f2 = imread([/size][/font][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#a020f0][FONT=Monospaced][SIZE=2][COLOR=#a020f0][FONT=Monospaced][SIZE=2][COLOR=#a020f0]'2.jpg'[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][FONT=Monospaced][SIZE=2]);


f1=imresize(f1 ,[160 160]); 
f2=imresize(f2 ,[160 160]);




[height width] = size(f1);
[height width] = size(f2);

f1 = double(f1);
f2 = double(f2);


[/size][/font][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#228b22][FONT=Monospaced][SIZE=2][COLOR=#228b22][FONT=Monospaced][SIZE=2][COLOR=#228b22]%Block size
[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][FONT=Monospaced][SIZE=2]N = 16;


[/size][/font][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff]for[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][FONT=Monospaced][SIZE=2][COLOR=#000000] i=1:N:height-N[/color]
[/size][/font][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff]for[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][FONT=Monospaced][SIZE=2][COLOR=#000000] j=1:N:width-N [/color][/size][/font][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#228b22][FONT=Monospaced][SIZE=2][COLOR=#228b22][FONT=Monospaced][SIZE=2][COLOR=#228b22]%for every block in the anchor frame
[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][FONT=Monospaced][SIZE=2]MAD_min=256*N*N;
mvx=0;mvy=0;
[/size][/font][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff]for[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][FONT=Monospaced][SIZE=2][COLOR=#000000] k=-R:1:R,[/color]
[/size][/font][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff]for[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][FONT=Monospaced][SIZE=2][COLOR=#000000] l=-R:1:R [/color][/size][/font][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#228b22][FONT=Monospaced][SIZE=2][COLOR=#228b22][FONT=Monospaced][SIZE=2][COLOR=#228b22]%for every search candidate
[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][FONT=Monospaced][SIZE=2]MAD=sum(sum(abs(f1(i:i+N-1,j:j+N-1)-f2(i+k:i+k+N-1,j+l:j+l+N-1))));
[/size][/font][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#228b22][FONT=Monospaced][SIZE=2][COLOR=#228b22][FONT=Monospaced][SIZE=2][COLOR=#228b22]% calculate MAD for this candidate
[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff]if[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][FONT=Monospaced][SIZE=2][COLOR=#000000] MAD<MAX_min[/color]
MAD_min=MAD,dy=k,dx=l;
[/size][/font][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff]end[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][FONT=Monospaced][SIZE=2][COLOR=#000000];[/color]
[/size][/font][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff]end[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][FONT=Monospaced][SIZE=2][COLOR=#000000];[/color]
[/size][/font][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff]end[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][FONT=Monospaced][SIZE=2][COLOR=#000000];[/color]
fp(i:i+N-1,j:j+N-1)= f2(i+dy:i+dy+N-1,j+dx:j+dx+N-1);
[/size][/font][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#228b22][FONT=Monospaced][SIZE=2][COLOR=#228b22][FONT=Monospaced][SIZE=2][COLOR=#228b22]%put the best matching block in the predicted image
[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][FONT=Monospaced][SIZE=2]iblk=floor(i-1)/N+1; jblk=floor(j-1)/N+1; [/size][/font][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#228b22][FONT=Monospaced][SIZE=2][COLOR=#228b22][FONT=Monospaced][SIZE=2][COLOR=#228b22]%block index
[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][FONT=Monospaced][SIZE=2]mvx(iblk,jblk)=dx; mvy(iblk,jblk)=dy; [/size][/font][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#228b22][FONT=Monospaced][SIZE=2][COLOR=#228b22][FONT=Monospaced][SIZE=2][COLOR=#228b22]%record the estimated MV
[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff]for[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][FONT=Monospaced][SIZE=2][COLOR=#000000] [/color]
plot(x,dx)
plot(y,dy)

[/size][/font][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff]end[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][FONT=Monospaced][SIZE=2][COLOR=#000000];[/color]
[/size][/font][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff]end[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][FONT=Monospaced][SIZE=2][COLOR=#000000];[/color]
[/size][/font][/size][/font][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff][FONT=Monospaced][SIZE=2][COLOR=#0000ff]end[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Monospaced][SIZE=2][FONT=Monospaced][SIZE=2][COLOR=#000000];[/color]
[COLOR=#000000][/color]
imshow(fp)
[/size][/font][/size][/font]

يقوم بأخذ صورتين من فيديو ويعمل لهم مسح الصورة الأولى يقسمها لبلوكات

الصورة الثانية يتعامل معها عن طريق الsearch area بعد كذا يستنتج البلوكات المتحركة

وذلك بعمل صورة جديدة يضع فيها الصورة الأولى وفوقها البلوكات اللي تحركت

البلوك اللذي لم يتغير يظل كما هو …

الآن الpredicated frame تحتوي على الصورة الأولى مضاف إليها البلوكات اللتي تم تحريكها

أنا الآن أريد إستنتاج ال الpredicated frame with MV وهي عبارة عن رسم خط

بين البلوك الأصلي في الصورة الأولى والبلوك اللي تحرك اللي أضفناه فوق الصورة

الأولى , أنا عملت كذا بس طلع لي خطأ ؟

وكذلك لدي خطأ في عملية الدوران الثانية الخاصة بالsearch area للصورة الثانية

أريد منع الsearch area من الخروج خارج أبعاد الصورة ؟؟

أتمنى مساعدتي في أسرع وقت


#6

نرجو ارفاق الصور المستخدمة فى الكود