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()
函数将原始图像缩放到目标图像,并显示两个图像。当用户按下任意键时,程序将关闭窗口并退出。
版权声明:如无特殊标注,文章均为本站原创,转载时请以链接形式注明文章出处。
评论