Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ opencv c++;:透视变换的负坐标_C++_Opencv_Coordinates_Negative Number - Fatal编程技术网

C++ opencv c++;:透视变换的负坐标

C++ opencv c++;:透视变换的负坐标,c++,opencv,coordinates,negative-number,C++,Opencv,Coordinates,Negative Number,我想对标记周围的图像区域进行透视变换。 这个区域当然位于更大的图像中。 对此,我: 1) findHomography仅基于标记角点的变换矩阵Homo 然后: 2) 我将透视变换与Homo应用于标记周围较大区域的角点,以在透视变换后的较大图像中找到裁剪区域的角点 然后我: 3) 使用Homo和: 4) 裁剪变换图像内部的区域(在步骤2中定义) 其思想是通过块对图像进行透视变换,然后将不同的块组装在一起。(图像是在未校准摄像机的情况下拍摄的,因此不同区域的失真程度不同) 问题出现在步骤2):变换角

我想对标记周围的图像区域进行透视变换。 这个区域当然位于更大的图像中。 对此,我: 1) findHomography仅基于标记角点的变换矩阵Homo

然后: 2) 我将透视变换与Homo应用于标记周围较大区域的角点,以在透视变换后的较大图像中找到裁剪区域的角点

然后我: 3) 使用Homo和:

4) 裁剪变换图像内部的区域(在步骤2中定义)

其思想是通过块对图像进行透视变换,然后将不同的块组装在一起。(图像是在未校准摄像机的情况下拍摄的,因此不同区域的失真程度不同)

问题出现在步骤2):变换角点的坐标为负,我必须如何计算这些角点的正确偏移量,以便在变换图像中找到合适的区域

我已经研究过了。例如:

但我不明白在上面的链接中我必须给w和h哪个值才能符合我的情况

上面链接中的解释让我有点困惑,所以如果有人能更详细地阐明这一点和/或举个例子,这肯定会有帮助

任何帮助都将不胜感激

提前感谢,,
约翰

看看这里:这个问题有用吗?