c++ opencv resize代码
时间: 2023-07-24 22:08:27 浏览: 111
下面是使用C++和OpenCV库进行图像缩放的示例代码:
```c++
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv)
{
Mat src = imread("input.jpg");
Mat dst;
// 缩小图像至1/2
resize(src, dst, Size(src.cols / 2, src.rows / 2));
imwrite("output.jpg", dst);
return 0;
}
```
这个示例代码使用 `imread` 函数从磁盘读取图像,然后使用 `resize` 函数将其缩小至原来大小的一半。最后,使用 `imwrite` 函数将缩小的图像写回磁盘。你可以根据需要调整缩放比例和输出文件名。
相关问题
c++ opencv resize函数如何使用?
在C++中,使用OpenCV的resize函数可以实现图像的缩放和放大操作。该函数的原型如下:
```cpp
void cv::resize(InputArray src, OutputArray dst, Size dsize, double fx = 0, double fy = 0, int interpolation = INTER_LINEAR );
```
其中,各参数的含义如下:
- `src`:源图像,可以是Mat类型的对象,也可以是其它形式的图像数据。
- `dst`:目标图像,用于存储resize操作后的图像数据,也可以是Mat类型的对象,也可以是其它形式的图像数据。
- `dsize`:目标图像的大小,可以指定为Size类型的对象或者cv::Size()函数。当指定了dsize参数时,fx和fy参数会被忽略。
- `fx`:水平方向的缩放比例,当dsize参数没有指定时才会生效。
- `fy`:垂直方向的缩放比例,当dsize参数没有指定时才会生效。
- `interpolation`:插值方法,可以指定为INTER_NEAREST、INTER_LINEAR、INTER_CUBIC、INTER_AREA、INTER_LANCZOS4等常量之一。
下面是一个简单的示例代码,展示了如何使用resize函数对图像进行缩放操作:
```cpp
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
// 读取原始图像
Mat src = imread("lena.jpg");
if (src.empty())
{
cout << "can not load image!" << endl;
return -1;
}
// 缩放图像
Mat dst;
resize(src, dst, Size(src.cols / 2, src.rows / 2), 0, 0, INTER_LINEAR);
// 显示原始图像和缩放后的图像
namedWindow("src", WINDOW_NORMAL);
namedWindow("dst", WINDOW_NORMAL);
imshow("src", src);
imshow("dst", dst);
waitKey(0);
return 0;
}
```
在这个示例代码中,我们首先读取了一张名为lena.jpg的图像,然后调用resize函数对图像进行了缩放操作,将图像的大小缩小为原始图像的一半。最后,我们使用imshow函数将原始图像和缩放后的图像在窗口中显示出来。
opencv resize c++
引用和引用[2]提供了C++和Python中使用OpenCV库进行图像缩放的函数resize的定义和用法。resize函数用于将图像src缩放为指定大小。参数dsize指定了目标大小,而参数fx和fy分别指定了在x和y方向上的缩放比例。函数还可以指定插值方法来处理图像的像素值。
在C++中,resize函数的定义如下:
void cv::resize (InputArray src, OutputArray dst, Size dsize, double fx = 0, double fy = 0, int interpolation = INTER_LINEAR )
在Python中,可以使用以下方式调用resize函数:
dst = cv.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]])
需要注意的是,初始的dst类型和大小不会被考虑,而是从src、dsize、fx和fy这些参数推导出的。如果需要将src调整为适合预先创建的dst的大小,可以按照以下方式调用函数:
resize(src, dst, dst.size(), 0, 0, interpolation);
阅读全文