Java 如何使用OpenCV将实际相机图像转换为原始图像?
这是我创建的原始焊盘图像 以及从相机上实际拍摄的图像Java 如何使用OpenCV将实际相机图像转换为原始图像?,java,opencv,transformation,Java,Opencv,Transformation,这是我创建的原始焊盘图像 以及从相机上实际拍摄的图像 我正在寻找一种高精度的方法,将捕获的图像转换回原始图像的形状,与白色和灰绿色区域的位置有关。我尝试了带有特征检测的OpenCV,但它无法检测到两幅图像之间的任何相似特征(两幅图像的关键点集也完全不同)。任何建议或示例代码在java或C++中都会被理解。谢谢。既然您知道原始对象,也许您可以检测矩形的角点,然后在它们之间找到单应性,然后您就可以扭曲它们了。这里有一个关于它的链接。您可以先尝试手动选择点,看看它是如何工作的,如果您喜欢,然后尝试
我正在寻找一种高精度的方法,将捕获的图像转换回原始图像的形状,与白色和灰绿色区域的位置有关。我尝试了带有特征检测的OpenCV,但它无法检测到两幅图像之间的任何相似特征(两幅图像的关键点集也完全不同)。任何建议或示例代码在java或C++中都会被理解。谢谢。既然您知道原始对象,也许您可以检测矩形的角点,然后在它们之间找到单应性,然后您就可以扭曲它们了。这里有一个关于它的链接。您可以先尝试手动选择点,看看它是如何工作的,如果您喜欢,然后尝试查找边和角点。我也尝试了单应。然而,在Java中使用SIFT或SURF特性检测器是不可能的(或者它们在我的库中不可用)。我试过ORB,但它找不到任何类似的点。你发送的教程非常棒:)在这样一个同质的区域中很难获得好的功能。。。我的意思是,不可能区分边上的哪个点是哪个点。我会使用一种使用颜色阈值的方法,然后得到区域的边缘并找到这些边缘的交点。对于对应关系,需要更多的分析或蛮力