admin 管理员组文章数量: 1087139
2024年4月16日发(作者:四寸奥利奥蛋糕多少钱)
opencv计算平移和旋转的矩阵
opencv中,计算平移和旋转的矩阵可以使用`cv::getRotationMatrix2D()`和
`cv::warpAffine()`函数。下面是一个示例代码:
```cpp
#include
#include
#include
using namespace std;
using namespace cv;
int main()
{
string path = R"()";
cv::Mat Img = imread(path, IMREAD_GRAYSCALE);
cv::threshold(Img, Img, 200, 255, 0);
cv::Mat M = cv::Mat::zeros(2, 3, CV_32FC1);
double scale = 1; // 缩放因子,1 表示不进行缩放
double angle = 60.0 / 180.0 * CV_PI; // 旋转角度,正值表示逆时针旋转
cv::Point2f center = cv::Point2f( / 2.0, / 2.0); // 图
像旋转的中心位置
double a = 0; // 水平平移量
double b = 100; // 竖直平移量
// 取得旋转矩阵
M = cv::getRotationMatrix2D(center, angle, 1);
// 图像尺寸扩张(默认扩张方式)
cv::warpAffine(Img, img, M, cv::Size(, ));
// 用固定颜色填充扩张的边界
cv::Scalar borderColor = Scalar(255, 255, 255);
// 复制边缘填充
cv::warpAffine(img, img, M, () + cv::Size(500, 1000), 1,
BORDER_REPLICATE, borderColor);
return 0;
}
```
在上述代码中,首先使用`cv::getRotationMatrix2D()`函数获取旋转矩阵`M`,然后使
用`cv::warpAffine
版权声明:本文标题:opencv计算平移和旋转的矩阵 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1713225894a624801.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论