remap C++ 怎么用
时间: 2023-07-08 11:48:17 浏览: 160
C++ map使用
5星 · 资源好评率100%
在 C++ 中,使用 remap 函数实现图像重映射的步骤与 Python 中基本相同,只是函数的参数和使用方式略有不同。下面是一个简单的 C++ 代码示例,演示如何使用 remap 函数实现图像重映射:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main() {
// 读取输入图像
Mat img = imread("input.jpg");
// 创建映射表
Mat map_x(img.size(), CV_32FC1);
Mat map_y(img.size(), CV_32FC1);
for (int i = 0; i < img.rows; i++) {
for (int j = 0; j < img.cols; j++) {
map_x.at<float>(i, j) = j * 2; // X 坐标乘以 2
map_y.at<float>(i, j) = i * 2; // Y 坐标乘以 2
}
}
// 应用映射表
Mat dst;
remap(img, dst, map_x, map_y, INTER_LINEAR);
// 显示输出图像
imshow("Output", dst);
waitKey(0);
destroyAllWindows();
return 0;
}
```
在这个示例中,我们同样将输入图像中每个像素的 X 和 Y 坐标都乘以 2,从而实现了图像的放大。你可以根据自己的需求修改映射表来实现不同的图像重映射效果。
阅读全文