如何获得数学函数的像素?

时间:2015-01-22 13:11:42

标签: c++ opencv

我有一个OpenCV图像,一个像x ^ 2这样的数学函数和一个沿着这个函数的一组离散计算点。如何获得基础离散点的像素?由于计算的点属于cv::Point2d()类型,例如(4.2823,7.2442),我不知道如何将引用像素映射到它。

我不太清楚我是否足够清楚,请告诉我。提前谢谢!

1 个答案:

答案 0 :(得分:0)

您需要将要绘制的函数的范围(例如x [-5,5],y [-25,25],fxmin = -5和fymin = -25)映射到图像的坐标。假设图像的最左边和最下面的坐标是xLeftImg = 0,yLowImg = img.ySize() - 1,那么计算将是

imgpos_x = (point2d.x-fx_min)/(fxmax-fxmin)*img.size().width;
imgpos_y = img.size().height-(point2d.y-fy_min)/(fymax-fymin)*img.size().height;