Calculate the midpoint of two lines on a track

14 views (last 30 days)
Nitesh Ramdin
Nitesh Ramdin on 16 Nov 2020
Edited: Matt J on 24 Nov 2020
Hi ,
I am busing building a project for my university and need some direction. I am busying trying to build an autonmous car with the use of Mathlab and Raspberry Pi4B + Pi camera. Thh Pi camera will visualize the the front of the car as it navigates through a track. I want the car to maintain a centre position as it navigates through the track. I have used black tape to mark this.
My question is how do i calculate/design the midpoint and maintain this as the car navigates through the track.
Any assistance would be helpful.
  4 Comments
Rik
Rik on 24 Nov 2020
When you get to work on this: I would suggest simple thresholding to find where in your image the two lines are. The car should stay in the same position in the frame, so you can easily remove it.
I would try to find the intersection point of the two lines.
If the bends are not too sharp you could even process each half of the image separately to fit a straight trend line.

Sign in to comment.

Answers (1)

Matt J
Matt J on 24 Nov 2020
Edited: Matt J on 24 Nov 2020
The effectiveness of any solution we give will depend on whether the illumination levels of every frame will be similar to your example frame. This might be a good starting point:
A=imread('https://www.mathworks.com/matlabcentral/answers/uploaded_files/426118/image.jpeg');
Ag=rgb2gray(A);
bw=bwareafilt( bwareafilt(Ag<120,3) ,2,'smallest');
[I,J]=find(bw);
[xmid,ymid]=deal( mean(J),size(A,1)-mean(I));
imshow(bw);
h=drawpoint('Position',[xmid,ymid],'Color','m','Label','Midpoint');
h.MarkerSize=15;

Community Treasure Hunt

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

Start Hunting!