21xrx.com
2024-12-22 17:28:23 Sunday
登录
文章检索 我的文章 写文章
C++ OpenCV 实现图像旋转90度
2023-07-04 20:47:20 深夜i     --     --
C++ OpenCV 图像旋转 90度 实现

图像旋转是计算机视觉中常见的操作之一,它可以让图像在不改变其大小的情况下旋转一定角度。在C++ OpenCV中,实现图像旋转可以使用cv::transpose、cv::flip、cv::rotate等函数,本文将通过代码实现图像旋转90度。

首先,需要包含OpenCV头文件和命名空间:


#include <opencv2/opencv.hpp>

using namespace cv;

旋转函数的基本参数如下:


void cv::rotate(

  InputArray src, // 输入图像

  OutputArray dst, // 输出图像

  int rotateCode // 旋转方向

);

其中,rotateCode表示旋转方向,可以选择以下四种:

- ROTATE_90_CLOCKWISE:顺时针旋转90度

- ROTATE_180:顺时针旋转180度

- ROTATE_90_COUNTERCLOCKWISE:逆时针旋转90度

- ROTATE_180:逆时针旋转180度

接下来,我们来看如何进行图像旋转90度,代码如下:


int main()

{

  Mat src = imread("image.jpg");

  if(src.empty())

    std::cout << "Could not open or find the image!" << std::endl;

    return -1;

  

  Mat dst;

  rotate(src, dst, ROTATE_90_CLOCKWISE);

  imshow("Original Image", src);

  imshow("Rotated Image", dst);

  waitKey(0);

  return 0;

}

上述代码实现了图像的读取、旋转和显示。需要注意的是,输入图像需要是正方形或者长宽比相同的矩形,否则旋转后的图像会有部分被裁剪。

通过以上代码,我们可以看到图像旋转的实现过程。在实际的计算机视觉应用中,图像旋转常用于图像匹配、图像拼接、目标跟踪等领域,是非常重要的技术之一。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复