说我有一些图像和旋转矩阵以及我想应用于该图像的平移矢量。我如何在opencv中应用它?我的假设是我有一些3D点(其中我有x,y,相对z)和相关的旋转矩阵(这是一个3x3矩阵),我希望将每个点乘旋转矩阵到让它在这些点上“行动”。如何将矩阵应用于opencv中的图像?
1
A
回答
0
OpenCV有一个warp affine函数为此目的。
的OpenCV 1(旧的API):
cvWarpAffine(&srcImage, &dstImage, &mat2x3) ;
// dst size will be same as src size.
的OpenCV 2(新API):
cv::warpAffine(&srcImage, &dstImage, &mat2x3, cvSize(dstWidth, dstHeight)) ;
0
对于一个3x3,你可以/应该使用CV :: warpPerspective。
cv::warpPerspective(image, warpedImage, warpMat, destinationSize);
我不知道是否有一个表现的理由这样做,但是......
您可以使用warpAffine为好,但你确实有到矩阵转换成2×3的扭曲了。 opencv API让人非常痛苦。
cv::Mat af0 = affine2x3.row(0); // cannot copy directly for some reason
affine3x3.row(0).copyTo(af0);
cv::Mat af1 = affine2x3.row(1);
affine3x3.row(1).copyTo(af1);
cv::warpPerspective(image, warpedImage, affine2x3, destinationSize);
如果有一个更简单的方法,我很乐意有人纠正我......
相关问题
- 1. 将转换矩阵应用于OpenCV图像中的像素
- 2. 如何将矩阵应用于图像
- 3. 如何使用opencv将图像转换为Python中的矩阵
- 4. 使用OpenCV 3.0将颜色矩阵应用于RGB图像的最快方法?
- 5. 获取图像的矩阵中的OpenCV
- 6. OpenCV图像阵列,4D矩阵
- 7. 将转换矩阵应用于opencv中的点列表(Python)
- 8. 图像转换矩阵OpenCV中
- 9. 将图像矩阵大小复制到OpenCV中的另一个矩阵
- 10. 将矩阵应用于图像,寻求性能改进
- 11. 如何使用r,g,b,矩阵将调整“曲线”应用于图像?
- 12. 如何将图像置于矩形中?
- 13. OpenGL:将单应矩阵转换应用于矩阵堆栈
- 14. 如何将函数应用于矩阵中的所有行?
- 15. 如何将函数应用于R中的矩阵
- 16. 用于摄像机矩阵条目的OpenCV坐标系
- 17. OpenCV中关于矩阵运算
- 18. OpenCV中同一图像的2个矩阵的“阶跃”差异
- 19. 如何使用OpenCV和Python将矩形图像平方?
- 20. 如何用rgb图像绘制矩阵?
- 21. 如何在opencv中使用矩阵R和T(外部参数矩阵)来变换图像?
- 22. OpenCV中的Homography矩阵
- 23. openCV中的矩阵操作
- 24. Android中的Homography矩阵opencv
- 25. OpenCV中的排序矩阵
- 26. 如何在MATLAB中将函数应用于矩阵?
- 27. 如何将numpy数组视图转换为opencv矩阵?
- 28. 将SVD应用于OpenCV中的YCbCr图像
- 29. 使用openCV查找单应矩阵
- 30. 如何使用OpenCV Java将矩阵中的矩形(ROI)的颜色转换为矩阵?
矩阵必须是2×3?这在应用3D旋转或平移时没有意义 – user696977 2011-04-09 15:52:45
是的,由于图像是2D平面上的投影,矩阵存储2D旋转和平移的基向量。请更新您的问题,以解释您想实现什么样的3D转换,以及您的假设是什么。 – 2011-04-09 21:10:02
已更新。谢谢你的帮助 – user696977 2011-04-09 21:22:22