opencv翻转函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
opencv翻转函数
在OpenCV中,有3种不同的翻转函数:cv::flip()、
cv::transpose()和cv::rotate()。
它们分别用于沿水平/垂直/对角线轴翻转矩阵、转置矩阵和旋转矩阵。
1. cv::flip()函数:。
该函数有3个参数:source(要翻转的矩阵)、dst(输出矩阵)和flipCode(用于指定要执行的操作)。
flipCode参数有3种不同的值:。
- flipCode = 0:沿x轴(垂直翻转)。
- flipCode > 0:沿y轴(水平翻转)。
- flipCode < 0:沿x轴和y轴(垂直和水平翻转)。
以下是一个使用cv::flip()翻转图像的示例:。
```。
cv::Mat src = cv::imread("input.jpg");。
cv::Mat dst;。
cv::flip(src, dst, 0); // 垂直翻转。
cv::imshow("Output", dst);。
cv::waitKey();。
```。
2. cv::transpose()函数:。
该函数用于矩阵转置,即交换行和列。
该函数只有1个参数:source (要转置的矩阵)。
以下是一个使用cv::transpose()转置矩阵的示例:。
```。
cv::Mat src = cv::Mat::eye(3, 3, CV_32FC1); // 生成一个3x3的单位矩阵。
cv::Mat dst;。
cv::transpose(src, dst); // 转置。
std::cout << src << std::endl << std::endl << dst << std::endl; // 输出源矩阵和目标矩阵。
```。
3. cv::rotate()函数:。
该函数用于对矩阵进行旋转。
它有4个参数:source(要旋转的矩阵)、dst(输出矩阵)、rotateCode(用于指定旋转方向)和rotateAngle(用于指定旋转角度)。
rotateCode参数只有3个值:。
- cv::ROTATE_90_CLOCKWISE:顺时针旋转90度。
- cv::ROTATE_180:顺时针旋转180度。
- cv::ROTATE_90_COUNTERCLOCKWISE:逆时针旋转90度。
rotateAngle参数用于指定旋转角度,可以是正数或负数。
以下是一个使用cv::rotate()旋转矩阵的示例:。
```。
cv::Mat src = cv::imread("input.jpg");。
cv::Mat dst;。
cv::rotate(src, dst, cv::ROTATE_90_CLOCKWISE); // 顺时针旋转90度。
cv::imshow("Output", dst);。
cv::waitKey();。