OpenCV C++进行图像缩放的方法

蜗牛 互联网技术资讯 2024-08-27 14 0

在 OpenCV 中,可以使用 resize() 函数来对图像进行缩放

#include <opencv2/opencv.hpp>
#include<iostream>

int main(int argc, char** argv) {
    // 读取图像
    cv::Mat src_image = cv::imread("input.jpg");

    if (!src_image.data) {
        std::cout << "No image data."<< std::endl;
        return -1;
    }

    // 设置缩放因子
    double scale_factor = 0.5;

    // 计算缩放后的图像尺寸
    int width = static_cast<int>(src_image.cols * scale_factor);
    int height = static_cast<int>(src_image.rows * scale_factor);

    // 创建目标图像
    cv::Mat dst_image = cv::Mat::zeros(height, width, src_image.type());

    // 调整图像大小
    cv::resize(src_image, dst_image, cv::Size(width, height));

    // 显示原始图像和缩放后的图像
    cv::imshow("Original Image", src_image);
    cv::imshow("Resized Image", dst_image);

    // 等待按键,然后关闭窗口
    cv::waitKey(0);
    cv::destroyAllWindows();

    return 0;
}

在这个示例中,我们首先读取一张名为 “input.jpg” 的图像。接下来,我们设置缩放因子(例如,0.5 表示将图像缩小到原始大小的一半)。然后,我们根据缩放因子计算缩放后的图像尺寸,并创建一个新的 cv::Mat 对象作为目标图像。最后,我们使用 resize() 函数将原始图像缩放到目标图像,并显示两个图像。当用户按下任意键时,程序将关闭窗口并退出。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo6@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论Telegram