相关疑难解决方法(0)

反双线性插值?

我有四个2d点,p0 =(x0,y0),p1 =(x1,y1)等,形成一个四边形.在我的例子中,四边形不是矩形,但至少应该是凸面.

  p2 --- p3
  |      |
t |  p   |
  |      |
  p0 --- p1
     s
Run Code Online (Sandbox Code Playgroud)

我正在使用双线性插值.S和T在[0..1]范围内,插值点由下式给出:

bilerp(s,t) = t*(s*p3+(1-s)*p2) + (1-t)*(s*p1+(1-s)*p0)
Run Code Online (Sandbox Code Playgroud)

这是问题..我有一个2d点p,我知道它在四边形内.我想在使用双线性插值时找到能给我这一点的s,t.

是否有一个简单的公式来反转双线性插值?


谢谢你的解决方案.我将我的Naaff解决方案的实现发布为维基.

math graphics geometry 2d bilinear-interpolation

32
推荐指数
4
解决办法
2万
查看次数

我可以在OpenCV中使用重映射获取点位置吗

我已经A使用RGB相机拍摄了照片。而且我知道g照片中点的位置A。相机需要进行相机校准。现在我想知道g校准后点的位置。我正在使用以下代码,但我想获取点位置,而不是图像。我怎样才能做到这一点?你能给我一些建议吗?

initUndistortRectifyMap(
        cameraMatrix,   
        distCoeffs,     
        Mat(),      
        Mat(),      
        Size(640, 480),
        CV_32FC1,      
        map1, map2);  
 remap(A, B, map1, map2, cv::INTER_LINEAR);  

Point2f g = Point2f(...,...);//i want to get the new position of the point not image B   
Run Code Online (Sandbox Code Playgroud)

c++ opencv remap

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

标签 统计

2d ×1

bilinear-interpolation ×1

c++ ×1

geometry ×1

graphics ×1

math ×1

opencv ×1

remap ×1