[原创]图像算法:对广角镜头造成的畸变进行修正

     广角镜头将产生物体的畸变,具体表现为:所有未穿越镜头轴线的直线都将被畸变为曲线,距离镜头轴线的距离与畸变的程度成正比,焦点距离与畸变程度成反比。

     在机器视觉的过程中,可能需要对物体的边缘是否是直线进行判断,而畸变现象将会造成严重的误判。

     下列两组图像分别为源片与修正后的图像。

    1.1 源片

    1.2 修正后的图像

    1.3 调整参数稍稍加大的输出

    2.1 源图

    2.2 修正后的图像

 

    为了修正这一畸变,PS提供了滤镜,在 Filter|Distort|Pinch,但是该滤镜只能通过人工调整参数的方式进行,因此不能保证精确返回正确的图像。为此,本人专门写了该软件,在图像上指定两根畸变的直线(分别指定每条曲线上的3个点)即可进行修正工作。

    为了便于观察,所有图片均已缩小。

    计划加入另一个确定参数的方法,根据文件提供的相机、镜头型号和焦点距离,根据预先存储的参数进行自动运算。非球面镜头的好处就不多说了。但对于这个算法而言,却是个问题,会造成角上的变形,而且不同的镜头,使用的非球面镜的参数不一样,这个变形也就不一样。对于低端镜头,这款软件反而能够正确的运行。......纠结

你可能感兴趣的:([原创]图像算法:对广角镜头造成的畸变进行修正)