matlab鱼眼镜头矫正
matlab鱼眼镜头矫正
用的是棋盘格标定的方法,先上结果:
- 首先用相机拍摄棋盘格,最好照片多一些,后面要删除效果不好的图片。把棋盘格全部都拍到,不同角度变换一下
- 打开matlab标定工具箱,导入之前拍摄的图片
选择棋盘格的格子大小,我的是15mm
等待导入完成…不用管是否有无效照片,直接确定就行
- 开始标定,我的是鱼眼镜头,所以要选择鱼眼模型,如果是普通相机就选标准模型就行
标定结果:
将右上角误差超过0.5的都删除
- 然后导出参数表
此处可以查看棋盘格标定后的图片
- 利用参数处理其他图片
回到matlab,新建脚本,添加代码如下:
img = imread("C:\Users\10858\Desktop\6.jpg");
% 使用相机参数进行矫正
intrinsics =cameraParams.Intrinsics;
% intrinsics = cameraIntrinsics(cameraParams.Intrinsics);
%intrinsics = calibrationSession.CameraParameters.Intrinsics;
%result = undistortFisheyeImage(img, intrinsics);
result = undistortFisheyeImage(img, intrinsics, 'OutputView', 'same');
% 显示结果
subplot(1,2,1); imshow(img); title('原始图像')
subplot(1,2,2); imshow(result); title('校正图像')
% 更改显示比例
set(gcf,'Visible','off')
set(gcf,'units','normalized','outerposition',[0 0 1 1]);
set(gcf,'Visible','on')
运行脚本即可得到矫正后的图片:
weixin_72105844: 您好,请问为什么矫正结果出来是斜的呢?
CSDN-Ada助手: 恭喜您写了这么一篇超详细的博客,对Ubuntu环境配置及faster-RCNN_pytorch代码复现进行了解说。您的分享对于那些正在学习这方面知识的读者来说肯定非常有帮助。接下来,我希望能看到您分享更多关于深度学习和计算机视觉方面的内容,或者可以考虑分享一些实战经验和案例分析,这样可以更好地帮助读者理解和运用这些知识。期待您的下一篇作品!