我用相机捕捉我的电脑屏幕和镜子。现在我想将屏幕调整到镜子,为屏幕中的每个像素调整镜子中的一个像素,我从视频中附加一个帧。
我正在寻找代码或想法。
我添加了一些图像示例:
我用相机捕捉我的电脑屏幕和镜子。现在我想将屏幕调整到镜子,为屏幕中的每个像素调整镜子中的一个像素,我从视频中附加一个帧。
我正在寻找代码或想法。
我添加了一些图像示例:
您正在寻找的算法是关键点检测器和匹配器。有几种算法可以完成这项工作(SURF、SIFT、ORB、FREAK 等),该过程涉及三个步骤。
特征点检测。
为模板图像和目标图像的每个关键点生成描述符。
这两个阶段的算法是 SURF、SIFT、ORB 等,有关详细信息,请参阅 opencv 特征检测部分。
这可以通过使用 KNN 匹配、基于 FLANN 的匹配器、BRUTEFORCE 匹配器等来完成。
这是matlab和opencv中的链接。
在您的情况下,SURF 算法失败的原因:
虽然匹配两个图像是两种不同场景中的对象,但我们需要考虑以下条件:
图像之间发生了哪种转换,是仿射还是透视,还是只是平移或旋转等...
在你的情况下,它看起来像透视变换......
图像是否具有丰富的纹理和质量。在您的情况下,图像纹理丰富但质量差或细节丢失可能是由低分辨率相机拍摄的。
在这里查看我对类似问题的回答
我的第一个建议是首先捕获质量更高的数据集。为了使关键点检测算法更容易找到好的关键点,一旦基本算法准备好,然后进行改进以使其适用于分辨率较差的数据集。