OpenCV如何进行图像旋转和缩放?OpenCV图像处理

OpenCV提供了许多函数来实现图像旋转和缩放。下面是一些常见的函数和示例:

  1. 旋转图像

使用函数cv::getRotationMatrix2D和cv::warpAffine可以实现图像旋转。

#include 
#include 

using namespace cv;
using namespace std;

int main() {
    Mat image = imread("lena.jpg");
    if (image.empty()) {
        cout << "Could not open or find the image" << endl;
        return -1;
    }

    // 旋转图像
    Mat rotationMatrix = getRotationMatrix2D(Point2f(image.cols/2, image.rows/2), 45, 1.0);
    Mat rotatedImage;
    warpAffine(image, rotatedImage, rotationMatrix, image.size());

    namedWindow("Image", WINDOW_NORMAL);
    imshow("Image", image);

    namedWindow("Rotated Image", WINDOW_NORMAL);
    imshow("Rotated Image", rotatedImage);

    waitKey(0);
    return 0;
}

在上面的例子中,我们使用cv::getRotationMatrix2D函数创建一个旋转矩阵,然后使用cv::warpAffine函数应用旋转矩阵来旋转图像。旋转中心在图像的中心,旋转角度为45度,缩放因子为1.0。

  1. 缩放图像

使用函数cv::resize可以实现图像缩放。

#include 
#include 

using namespace cv;
using namespace std;

int main() {
    Mat image = imread("lena.jpg");
    if (image.empty()) {
        cout << "Could not open or find the image" << endl;
        return -1;
    }

    // 缩小图像
    Mat scaledImage;
    resize(image, scaledImage, Size(), 0.5, 0.5);

    namedWindow("Image", WINDOW_NORMAL);
    imshow("Image", image);

    namedWindow("Scaled Image", WINDOW_NORMAL);
    imshow("Scaled Image", scaledImage);

    waitKey(0);
    return 0;
}

在上面的例子中,我们使用cv::resize函数将图像缩小了一半。缩放因子为0.5,Size参数为目标图像的大小。

OpenCV如何进行图像旋转和缩放?OpenCV图像处理_第1张图片

以上是图像旋转和缩放的两个基本操作的实现方法。根据需要,您可以使用OpenCV的其他函数来实现更高级的图像处理任务。

免费分享一些我整理的人工智能学习资料给大家,整理了很久,非常全面。包括一些人工智能基础入门视频+AI常用框架实战视频、计算机视觉、机器学习、图像识别、NLP、OpenCV、YOLO、pytorch、深度学习与神经网络等视频、课件源码、国内外知名精华资源、AI热门论文等。

下面是部分截图,点击文末名片关注我的公众号【AI技术星球】发送暗号 321 领取(一定要发暗号 321)

目录

一、人工智能免费视频课程和项目

二、人工智能必读书籍

三、人工智能论文合集

四、机器学习+计算机视觉基础算法教程

 五、深度学习机器学习速查表(共26张)

学好人工智能,要多看书,多动手,多实践,要想提高自己的水平,一定要学会沉下心来慢慢的系统学习,最终才能有所收获。

点击下方名片,扫码关注公众号【AI技术星球】发送暗号 321 免费领取文中资料。

你可能感兴趣的:(opencv,opencv,图像处理,计算机视觉,人工智能,深度学习)