Prespectrive transform for Lane detection project
5 次查看(过去 30 天)
显示 更早的评论
hello , any ideas on how to get the transformation matrix for this projection :
my goal is to obtain this :
from this :
i have tried this :
im = imread('test1.jpg');
initial_points=[580,475; 740,475; 300,650; 1050,650]
final_points= [250,0 ; 1100,0; 0,720; 1200,720]
tform = fitgeotrans(final_points,initial_points,'projective');
out = imwarp(im,tform);
and allways get something like this :
with open.cv in python i can do it with :
#4-points on the initial iamge
initial_points=np.float32([(580,475),(740,475),(300,650),(1050,650)])
#same 4 points in the porjected image
final_points=np.float32([(250,0),(1100,0),(250,720),(1100,720)])
Transformation_Matrix = cv2.getPerspectiveTransform(initial_points, final_points)
warped = cv2.warpPerspective(image, Transformation_Matrix,(1280,720)) #equivalent to imwarp
and i get this :
回答(2 个)
Prabhan Purwar
2020-1-23
Hi,
Following code may help
clc
close all
clear
oim = imread('test1.jpg');
im=oim(475:650,300:1050,:);
initial_points=[580,475; 740,475; 300,650; 1050,650];
final_points=[575,0; 720,0; 310,720; 1000,720];
initial_points(:,1) = initial_points(:,1)-475;
initial_points(:,2) = initial_points(:,2)-300;
tform = fitgeotrans(final_points,initial_points,'projective');
invtform = invert(tform);
out = imwarp(im,invtform);
subplot(1,2,1)
imshow(out);
subplot(1,2,2)
imshow(im);
Output:
For more information refer to the following link:
- https://in.mathworks.com/help/visionhdl/examples/lane-detection.html (Lane-detection)
- https://in.mathworks.com/help/driving/ref/birdseyeview.html (Birdseyeview)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing and Computer Vision 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!