在 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()
函数将原始图像缩放到目标图像,并显示两个图像。当用户按下任意键时,程序将关闭窗口并退出。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。