海思芯片上LDC(镜头畸变校正)功能原理浅析
前言
海思35xx芯片专门有一个模块GDC(Geometry Distortion Correction)来对畸变图片进行校正。它里面其实有两个应用case,一个是fisheye校正,另外一个是LDC镜头畸变校正。
个人理解,两者主要区别是,前者主要用在摄像头镜头视角范围非常大,比如接近或超过180度,且想非常精细的对图像进行反畸变从而获得比较好的效果。 它一般需要先通过标定来获得摄像头畸变内参K1,K2,K3以及P1和P2(Kx指径向畸变参数,P指切向畸变参数),然后再进行反畸变。 而后者LDC主要用在较广角镜头,只考虑径向畸变的场景,不需要标定,算法实现较简单,只要调节一个参数K就能达到较好的一个效果(当然比不上FISHYE校正)。
本博文主要讨论LDC镜头畸变校正功能。
LDC镜头畸变原理
一般地,镜头畸变分为径向畸变和切向畸变。而径向畸变又分为桶形畸变(barrel)和枕形畸变(Pincushion)。它们在图像上表现如下所示。
切向畸变(正方形图像畸变成梯形)
LDC只考虑径向畸变,其简化的模型示意图如下所示。
其中,ru为正常图像上某点到图像中心的距离,而rd为畸变图像上相同点到图像中心的距离。它们之间的关系可以简化为:
这里只有一个参数K(上面鱼眼模型里面有三个参数K1,K2以及K3)。
容易知道,对于桶形畸变,K>0,而对于枕形畸变,K < 0。当然K具体为什么值,要根据实际效果来调整。
LDC在海思上面的实现
主要参考下面截图(GDC调试指南.pdf)来进行参数调节。上面所提到的参数K和下图红框所示参数相对应,是校正效果调节的主要项。
具体效果对比图如下所示(左图为校正前的图,右图为校正后的)
当然,也可以根据上面的数学模型自己来写代码实现,整个算法代码还是比较简单的。
原文链接:https://blog.csdn.net/ltshan139/article/details/107634047
相关推荐:
- 分享
- 举报
-
浏览量:1352次2024-07-02 16:06:43
-
2024-01-11 15:44:19
-
浏览量:3185次2020-07-30 14:53:44
-
浏览量:14139次2019-09-21 19:14:57
-
浏览量:3487次2018-04-26 15:06:40
-
2020-11-04 16:35:11
-
浏览量:6465次2022-08-11 09:31:37
-
浏览量:1710次2019-09-18 16:32:09
-
浏览量:2196次2020-08-05 21:02:35
-
浏览量:7046次2022-03-21 09:00:27
-
浏览量:3854次2020-09-24 11:58:24
-
浏览量:1498次2023-12-29 16:51:41
-
浏览量:3254次2020-08-05 20:32:31
-
浏览量:2887次2020-08-10 09:24:28
-
浏览量:3217次2020-11-13 10:30:18
-
浏览量:2249次2022-03-09 09:03:08
-
浏览量:1231次2024-02-22 15:52:02
-
浏览量:782次2024-02-05 17:05:51
-
浏览量:17212次2018-09-27 20:23:02
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
淡定哥
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明