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