opencv - OpenCV中的共轭旋转变换

标签 opencv computer-vision projective-geometry

我正在尝试对图像进行一定程度的旋转,但无法按预期工作。我的轮换是:

[0.109285   0.527975    0.000000    
-0.527975   0.109285    0.000000    
0.000000    0.000000    1.000000]

绕相机中心(或Z轴,如果您愿意的话)应旋转约78度。
为了构建单应性,因为没有翻译组件,所以使用以下公式:K * R * K^-1(无限应性)。

我用来转换图像(320x240)的代码是:
cv::warpPerspective(image1, image2, K * R * K.inv(), image1.size());

其中K是:
[276.666667 0.000000    160.000000  
0.000000    276.666667  120.000000  
0.000000    0.000000    1.000000]
K * R * K.inv()生成的矩阵为:
[0.109285   0.527975    79.157461   
-0.527975   0.109285    191.361865  
0.000000    0.000000    1.000000]

结果应该只是图像的旋转,但是图像会像这样“缩小”:

enter image description here

我究竟做错了什么?

最佳答案

显然我的旋转矩阵是错误的。

关于opencv - OpenCV中的共轭旋转变换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32671163/

相关文章:

neural-network - 为孪生网络中的对比损失选择边际

machine-learning - 我从 kaggle 下载了一个 DL 模型,该模型用于 keras 的 8 分类器工作

c++ - OpenCV findHomography 给出不准确的结果

opencv - 如何知道 matchTemplate 是否找到了对象?

python - 如何调整文件夹中多个图像的大小,将其转换为灰度并将其保存到另一个文件夹中?

image-processing - state_dict 中缺少键

image-processing - 使用单应性描述两个图像之间的非线性变换

matlab - 未校准的多 View 重建深度估计

c++ - 求从像素到边缘的距离

c++ - imshow 不工作