我需要更正相机的失真,而不使用棋盘目标。我有一个矩形对象的快照。为此,我首先在图像上找到了一些矩形对象的点。因此,我有图像中的实物点和物点轮廓点的坐标。这所描绘的形象在这里: https://yadi.sk/i/PgPYJvAQs8YwQ https://drive.google.com/file/d/0B1uajFxXL5MUMnFiVjVjbF8tTVE/view不用棋盘,按物体和轮廓点去除相机失真
我怎么能继续在JavaCV或OpenCV的?
我需要更正相机的失真,而不使用棋盘目标。我有一个矩形对象的快照。为此,我首先在图像上找到了一些矩形对象的点。因此,我有图像中的实物点和物点轮廓点的坐标。这所描绘的形象在这里: https://yadi.sk/i/PgPYJvAQs8YwQ https://drive.google.com/file/d/0B1uajFxXL5MUMnFiVjVjbF8tTVE/view不用棋盘,按物体和轮廓点去除相机失真
我怎么能继续在JavaCV或OpenCV的?
您可以尝试在opencv中使用findHomography函数,该函数使用RANSAC来说明异常值并获得图像转换的初始估计值。
Mat h = findHomography(distorted_src,undistort_dst);
warpPerspective(im_src, im_undistort, h, size);
如果我正确地理解你 - 这种方法让我纠正我的图像上的透视传播。但是我需要在这个图像上正确的镜筒失真。 (透视校正已经完成,并且矩形对象的边正确地绘制在结果图像上并且该对象位于中心位置) – FedorM
的几点:
您的谷歌驱动器文件不共享。 –
对不起,我修好了。 – FedorM
为什么你不能只使用校准模式?你的相机是否在月球上,因此你无法到达它?这没有意义。 – Piglet