cv::resize(img, re, re.size(), 0, 0, cv::INTER_LINEAR);指针实现
时间: 2024-09-18 21:06:53 浏览: 39
read-and-show-color-image.rar_show_site:www.pudn.com_spyder read
`cv::resize()` 函数用于调整OpenCV中的图像大小。它接受三个参数:源图像(img),目标图像(re)以及缩放因子。在这里的指针实现中,`cv::INTER_LINEAR` 参数表示采用线性插值来平滑地调整图像尺寸。
```cpp
// 假设我们有一个源图像 Mat srcImg;
cv::Mat srcImg; // 替换成实际的图像
// 定义新的图像尺寸
int rows_new = 200; // 新的高度
int cols_new = 300; // 新的宽度
// 创建一个新的 Mat 对象来存储调整后的图像,但不立即初始化其内容
cv::Mat resizedImg(re.size(), CV_8UC3, cv::Scalar(0));
// 使用 resize 函数并传递指针,步骤如下:
cv::resize(srcImg, resizedImg.ptr<uchar>(), cv::Size(cols_new, rows_new),
0, 0, cv::INTER_LINEAR);
// 注意,ptr<uchar>() 是为了直接访问像素数据,而不是创建一个新的 Mat 实例
// 这样可以节省内存,因为 resampledImg 已经有足够的空间容纳新图像
// 此时 resizedImg 就包含了按 INTER_LINEAR 插值方式缩放后的图像
```
阅读全文