vehicle speed detection using image processing

hi, i am doing a project to find vehicle speed using image processing. the procedure to find the speed is using kinematics equation,our video contains two imaginary lines one is starting line and other is ending line.when vehicle crosses first line counts the time upto vehicle reaches end line.distance between lines known to us and time calculated from algorithm.....how to find when vehicle crosses first line and leaves the second line ....... waiting for reply thanks you in advance

댓글 수: 6

sai kiran
sai kiran 2016년 9월 30일
can you send me the code
clc;
close all;
inputvideo=vision.VideoFileReader('traffic.avi');
vid1=vision.VideoPlayer;
while~isDone(inputvideo)
frame1=step(inputvideo);
step(vid1,frame1);
pause(0.005);
end
imwrite(frame1,'D:\referenceimage.jpg','jpg');
release(inputvideo);
release(vid1);
referenceimage=imread('D:\referenceimage.jpg');
vid2=vision.VideoFileReader('Traffic.avi');
X=zeros(2,121);
Y=zeros(2,121);
Z=zeros;
for i=2:121
clc
frame=step(vid2);
frame2=((im2double(frame))-(im2double(referenceimage)));
frame1=im2bw(frame2,0.2);
[labelimage]=bwlabel(frame1);
stats=regionprops(labelimage,'basic');
BB=stats.BoundingBox;
X(i)=BB(1);
Y(i)=BB(2);
Dist=((X(i)-X(i-1))^2+(Y(i)-Y(i-1))^2)^(1/2);
Z(i)=Dist;
if(Dist>10&&Dist<20)
display('MEDIUM SPEED');
elseif(Dist<10)
display('SLOW SPEED');
else
display('FAST SPEED');
end
S=strel('disk',6);
frame3=imclose(frame1,S);
step(vid1,frame1);
pause(0.05);
end
M=median(Z);
Speed=(M)*(120/8);
release(vid1)
Please can you give me the details about the algorithm for speed measurement. Because I'm doing this project.
saravana arumugam: the algorithms for vehicle speed measurement depend upon your situation. Are you using a fixed camera position and fixed focus and a scene in which the real-world distance between two points on the image is known? Or are you using a pair of cameras giving a stereo view onto an scene in which distances are not known? Or do you have a situation with one or more moving cameras?
Though I got the output, the following error also comes after the execution of the above code mentioned by @Avisekkumar . Can anyone help me how to resolve it?
Too many outputs requested. Most likely cause is missing [] around left hand side that has a comma separated list
expansion.
Error in speed_1 (line 25)
BB=stats.BoundingBox;
That code is wrong. It assumes that only one region will be found on the video. You can get rid of the error message by using
BB = stats(1).BoundingBox;
but this will just pick out the first thing it finds in the image, without concern about whether it makes sense.

댓글을 달려면 로그인하십시오.

 채택된 답변

Image Analyst
Image Analyst 2022년 6월 7일
편집: MathWorks Support Team 2022년 6월 7일

0 개 추천

2022 Update - In general, with the Computer Vision Toolbox, you can calibrate the camera to the road and use point tracking. The Sensor Fusion and Tracking Toolbox is an option to fuse data from multiple sensors to maintain situational awareness and localization.
Look for significant changes in the line. For example use improfile (to get the intensity profile along a line) and sum the values along the line and see when it make a big change in value.

댓글 수: 2

sridhar
sridhar 2011년 11월 25일
thank you sir,
i have a doubt , Is it possible to keep on observe the changes along the line , i mean sum of pixel values automatically?.
and in my image two lines will present, Is it possible to monitor the two lines separate which is useful to know when vehicle cross first line and second line.
Image Analyst
Image Analyst 2011년 11월 25일
Yes it is. Simply have two calls to improfile with different line endpoints.

댓글을 달려면 로그인하십시오.

추가 답변 (4개)

Thilakam kuttiannan
Thilakam kuttiannan 2017년 12월 5일
편집: Walter Roberson 2017년 12월 5일

0 개 추천

sir
I have a doubt.I am currently doing a project on vehicle speed detection. when I am using your code I am getting an error ??? Undefined function or variable 'vision'. what is the problem with this code. What is an alternative of this error.
sir currently i am using Matlab 2010 b version
waiting for reply thanks you in advance

댓글 수: 1

The Computer Vision Toolbox did not exist in R2010b. In R2010b, all that existed was https://www.mathworks.com/help/releases/R2010b/toolbox/vipblks/ Video and Image Processing Blockset which was for Simulink.
You would need at least R2012a to use the Computer Vision Toolbox.

댓글을 달려면 로그인하십시오.

Thilakam kuttiannan
Thilakam kuttiannan 2018년 8월 28일
편집: Image Analyst 2018년 8월 28일

0 개 추천

Sir
I have a doubt.I am currently doing a project on vehicle speed detection. when I am using your code I am getting an error ??? Insufficient number of outputs from right hand side of equal sign to satisfy assignment.
Error in main (line 28)
BB= stats.BoundingBox;
What is the problem with this code? What is an alternative of this error?
Sir currently I am using Matlab 2015 b version.
Waiting for reply thanks you in advance
Herewith i have attached the coding also

댓글 수: 5

Add this after the call to regionprops():
if isempty(stats)
continue;
end
Sir I used your code for vehicle speed detection but I m getting the value of M and S=0
What is the problem with this code?
Waiting for reply thanks you in advance.
We do not have your pontbiz2.mp4
I tried using traffic.avi as Image Analyst suggested, but I discovered that it has been unreadable in every release since at least R2014a.
thank your for your reply.
can i send you the video test to your mail address because i couldn't attach the video.

댓글을 달려면 로그인하십시오.

NGUYEN THE VY
NGUYEN THE VY 2022년 5월 14일

0 개 추천

i dont know how to do the theoretical basis part for this project. I hope anyone help me list me
theory section.
thank you very much!

댓글 수: 1

See my comment above. You might need to click to expand comments.
https://www.mathworks.com/matlabcentral/answers/22194-vehicle-speed-detection-using-image-processing#comment_516852

댓글을 달려면 로그인하십시오.

태그

아직 태그를 입력하지 않았습니다.

질문:

2011년 11월 24일

편집:

2022년 6월 7일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by