arashad
یک شنبه 12 آذر 1391, 17:26 عصر
ضمن سلام و عرض خسته نباشید خدمت تمام اساتید.
من یه برنامه با متلب دارم که حرکت رو تو یک فایل ویدئو نشون میده به این صورت که مثلا ماشینی که حرکت میکنه رو به رنگ قرمز علامت میزنه. حالا میخوام این برنامه طوری کار کنه که تصویر رو به 3 قیمت تقسیم کنه و حرکت تو هر قسمت رو با یک رنگ جدا نشون بده و اگه بشه تو یکی از قسمت ها اگه حرکت بود یک فایل صوتی اجرا کنه مثل آژیر. اگه کسی میتونه ممنون میشم این قسمت رو برام به برنامه اضافه کنه. کد برنامه رو تا اونجایی که دارم براتون مینویسم. فایل ویدئوی مخصوص هم پیوست قرار میدم.
ممنون
clear all
clc
t= VideoReader('c:\video.avi');
NF =t.NumberofFrames;
for i=1:NF
im1=read(t,i);
gry= rgb2gray(im1);
im2=read(t,i+1);
gry1= rgb2gray(im2);
g=abs(gry-gry1);
%figure(1)imshow(g);
k=graythresh(g);
bw= im2bw(g,k);
%figure(2),imshow(bw)
for i=1:size(bw, 1)
for j=1:size(bw, 2)
if bw(i, j) == 1
im1(i, j, 3)= 0;
im1(i, j ,1)=0;
im1(i, j ,2)=255;
end
end
end
figure(1),imshow(im1)
end
من یه برنامه با متلب دارم که حرکت رو تو یک فایل ویدئو نشون میده به این صورت که مثلا ماشینی که حرکت میکنه رو به رنگ قرمز علامت میزنه. حالا میخوام این برنامه طوری کار کنه که تصویر رو به 3 قیمت تقسیم کنه و حرکت تو هر قسمت رو با یک رنگ جدا نشون بده و اگه بشه تو یکی از قسمت ها اگه حرکت بود یک فایل صوتی اجرا کنه مثل آژیر. اگه کسی میتونه ممنون میشم این قسمت رو برام به برنامه اضافه کنه. کد برنامه رو تا اونجایی که دارم براتون مینویسم. فایل ویدئوی مخصوص هم پیوست قرار میدم.
ممنون
clear all
clc
t= VideoReader('c:\video.avi');
NF =t.NumberofFrames;
for i=1:NF
im1=read(t,i);
gry= rgb2gray(im1);
im2=read(t,i+1);
gry1= rgb2gray(im2);
g=abs(gry-gry1);
%figure(1)imshow(g);
k=graythresh(g);
bw= im2bw(g,k);
%figure(2),imshow(bw)
for i=1:size(bw, 1)
for j=1:size(bw, 2)
if bw(i, j) == 1
im1(i, j, 3)= 0;
im1(i, j ,1)=0;
im1(i, j ,2)=255;
end
end
end
figure(1),imshow(im1)
end