• Create Account

## Shot Boundry Detection(Computer Vision)

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

No replies to this topic

### #1Uzumakis  Members

130
Like
0Likes
Like

Posted 04 May 2014 - 09:31 AM

I am new to Computer vision i am implementing Shot boundry detection algorithm based on histogram difference for key frame extraction the paper i am consulting for algorithm is paper on page # 4 it gives algorithm for detection shot boundry detection using it i am try to get results but no success so far it gives me all the frames becasue their value is less then that of the threshold any help will be appreciated..... My code in matlab...

data=VideoReader('C:\Users\Senuch Uzair Tariq\Downloads\Video\house_tour.mpg');
length=data.numberofframes;
increment=0;
for i=1:1:50
frame1=rgb2gray(imresize(frame1,[256 256]));
frame2=rgb2gray(imresize(frame2,[256 256]));
%frame 1 blocks
b11=frame1(1:128, 1:128);
w11=sum(b11(:))/16384;
b12=frame1(129:256, 1:128);
w12=sum(b12(:))/16384;
b13=frame1(1:128, 129:256);
w13=sum(b13(:))/16384;
b14=frame1(129:256, 129:256);
w14=sum(b14(:))/16384;
%frame 2 blocks
b21=frame2(1:128, 1:128);
b22=frame2(129:256, 1:128);
b23=frame2(1:128, 129:256);
b24=frame2(129:256, 129:256);
%first elements
b11h=imhist(b11);
b12h=imhist(b12);
b13h=imhist(b13);
b14h=imhist(b14);
%second elements
b21h=imhist(b21);
b22h=imhist(b22);
b23h=imhist(b23);
b24h=imhist(b24);
%1st blocks difference
db1=b11h-b21h;
db1=db1.^2;
db1=sum(db1)/sum(b11h);
%2nd blocks difference
db2=b12h-b22h;
db2=db2.^2;
db2=sum(db2)/sum(b12h);
%3rd blocks difference
db3=b13h-b23h;
db3=db3.^2;
db3=sum(db3)/sum(b13h);
%4th blocks difference
db4=b14h-b24h;
db4=db4.^2;
db4=sum(db4)/sum(b14h);
%difference block sum*weight 1
db1=db1*w11;
%difference block sum*weight 2
db2=db2*w12;
%difference block sum*weight 3
db3=db3*w13;
%difference block sum*weight 4
db4=db4*w14;
total=db1+db2+db3+db4;
MD=total/length-1;
STD=total-MD;
STD=STD^2;
STD=STD/length-1;
STD=sqrt(STD);
threshold=MD+1*STD;
if(total>=threshold)
increment=increment+1;
boundry(increment)=i;
end
end


Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.