相关疑难解决方法(0)

用于纠正FishEye镜头的桶形失真校正算法 - 无法用Java实现

我用鱼眼镜头拍摄了大量照片.因为我想对照片进行一些图像处理(例如边缘检测),我想要去除桶形失真,这会严重影响我的结果.

经过一些研究和大量阅读文章,我找到了这个页面:他们描述了一个算法(和一些公式)来解决这个问题.

M = a*rcorr ^ 3 + b*rcorr ^ 2 + c*rcorr + d
rsrc =(a*rcorr ^ 3 + b*rcorr ^ 2 + c*rcorr + d)*rcorr

rsrc =像素距离源图像中心的
距离rcorr =校正图像中像素距中心的距离
a,b,c =图像的失真d =图像的线性缩放

我使用这些公式并尝试在Java应用程序中实现它.不幸的是它不起作用,我没能使它工作."修正"图像看起来与原始照片完全不同,而是在中间显示一些神秘的圆圈.看这里:

http://imageshack.us/f/844/barreldistortioncorrect.jpg/ (这曾经是一张蓝色墙前的白牛的照片)

这是我的代码:

protected int[] correction(int[] pixels) {

    //
    int[] pixelsCopy = pixels.clone();

    // parameters for correction
    double paramA = 0.0; // affects only the outermost pixels of the image
    double paramB = -0.02; // most cases only require b optimization
    double paramC …
Run Code Online (Sandbox Code Playgroud)

java algorithm image-processing fisheye distortion

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

algorithm ×1

distortion ×1

fisheye ×1

image-processing ×1

java ×1