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

在 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