- https://www.mathworks.com/help/vision/ref/undistortimage.html
- https://www.mathworks.com/help/vision/ref/estimatecameraparameters.html
Correct image distortion with reference image
16 ビュー (過去 30 日間)
古いコメントを表示
Hey, how can I correct an image for lense distortion using a reference image and control points and perform a cross correlation between the two images afterwards? I feel like the code that I have used is not the best way to do it...
orthophoto = imread('cropped_image.tif');
figure, imshow(orthophoto)
unregistered = imread('cropped_image2.tif');
figure, imshow(unregistered)
pause
[movingPoints, fixedPoints] = cpselect(unregistered,orthophoto,'Wait',true);
cpselect(unregistered, orthophoto)
mytform = cp2tform(movingPoints, fixedPoints,'projective');
t = fitgeotrans(movingPoints, fixedPoints,'projective');
registered = imtransform(unregistered, mytform);
Rfixed = imref2d(size(orthophoto));
registered = imwarp(unregistered,t,'OutputView',Rfixed);
figure1 = imshow(registered);
saveas(figure1,'undistorted.tif');
0 件のコメント
回答 (1 件)
Prabhan Purwar
2020 年 11 月 12 日
Hey,
The best approach to correct image for lens distortion is to first get the camera intrinsics either from camera calibration(best) or through a set of images using control points (has scope for research). Then you may make use of undistortimage function.
Kindly have a look at the following link for more details:
Hope it helps!!
1 件のコメント
Hezha Sadraddin
2021 年 6 月 15 日
Hey Prabhan Purwar
I estimated camera paramters from a set of pics and now I want to apply these paramters to undistort images which were not used in camera calibration. Can I do that?
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!