OpenCV findHomography错误

时间:2016-10-10 11:29:35

标签: java opencv

我正在研究Java中的OpenCV项目,我将不得不将椭圆转换为不同图片上的圆坐标。我通过使用findHomograpghy()函数来做这个,因为椭圆包含超过4的源点。目前我有一个Mat,它包含椭圆的点,另一个Mat包含一个圆的点。在图像中检测椭圆。圆圈是使用Imgproc.circle()创建的。

我基本上做了以下事情:

MatOfPoint source_mop = new MatOfPoint(blue_ellipse_contour);
MatOfPoint2f source_points = new MatOfPoint2f(source_mop.toArray());

MatOfPoint dest_mop = new MatOfPoint(cir_contour);
MatOfPoint2f dest_points = new MatOfPoint2f(dest_mop.toArray());  

其中blue_ellipse_contour和cir_contour是填充的椭圆和圆。

source_points和dest_points的大小略有不同       1x3972       1x3976

我正在做以下事情:

Mat perspectiveMatrix = calib3d.findHomography(source_points,dest_points);

但是这会返回:

OpenCV错误:findHomography中的断言失败(src.checkVector(2)== dst.checkVector(2))

我认为这与尺寸不相同有关。但是我现在有点迷失如何从椭圆到圆圈实际找到变换矩阵?由于椭圆的大小和位置在不同的图像中会有所不同。

任何提示将不胜感激:)

0 个答案:

没有答案