OpenCV 重映射
来源:互联网 发布:vmware mac os 10.9 编辑:程序博客网 时间:2024/05/22 14:35
原理:
重映射把一个图像中一个位置的像素放置到另一个图片指定位置的过程。
通过重映射来表达每个像素的位置 (x,y) : g(x,y) = f ( h(x,y) ),其中g为目标图像,f为原图像。
比如说这个函数:,就是将图像按照x轴进行旋转。在下面的代码中所使用的也是这个函数。
函数:
void remap( InputArray src, OutputArray dst, InputArray map1, InputArray map2, int interpolation, int borderMode = BORDER_CONSTANT, const Scalar& borderValue = Scalar());
src: 源图像
dst: 目标图像,与 src 相同大小
map_x: x方向的映射参数. 它相当于方法 h(i,j) 的第一个参数
map_y: y方向的映射参数. 注意 map_y 和 map_x 与 src 的大小一致。
CV_INTER_LINEAR: 非整数像素坐标插值标志. 这里给出的是默认值(双线性插值).
BORDER_CONSTANT: 默认
代码:
int main(){ RNG rng(12345); Mat a = imread("1RT05508-0.jpg"); imshow("原图", a); Mat x, y; x.create(a.size(), CV_32FC1); y.create(a.size(), CV_32FC1); for (int j = 0; j < a.rows; j++) { for (int i = 0; i < a.cols; i++) { x.at<float>(j, i) = static_cast<float>(a.cols - i); y.at<float>(j, i) = static_cast<float>(j); } } remap(a, a, x, y, CV_INTER_LINEAR); imshow("效果图", a); cvWaitKey(10000);}
运行图:
0 0
- OpenCV 重映射
- opencv学习之重映射
- opencv重映射remap( )函数
- Opencv学习之重映射
- opencv重映射&surf特征点检测
- OpenCV重映射及特征点检测
- 【opencv练习25 - remap重映射】
- opencv中的重映射:remap()函数
- OpenCV:remap()简单重映射
- openCV图像处理之重映射
- opencv学习(三十四)之重映射remap
- 转 OpenCV:remap()简单重映射
- 【OpenCV】重映射及仿射变换
- OpenCV 重映射、仿射变换
- opencv c++函数 imgproc模块 13 Remapping 重映射
- OpenCV学习记录3//仿射变换与重映射
- 如何使用OpenCV函数 remap 来实现简单重映射
- 如何使用OpenCV函数 remap 来实现简单重映射
- CCMenu解析
- 如何在点击shell/elisp类型的link时,不要弹出确认窗口
- Coursera机器学习课程笔记(5) Neural Networks Representation
- UVA 1451 - Average
- 【h5-egret】js加载成第三方库
- OpenCV 重映射
- UVALive 6625_状态压缩
- 聚类算法分析——Kmeans算法
- 菜鸟学飞记——proc的那些事
- 1.2.4 MFC中使对话框变成圆角矩形、椭圆的代码
- 年中总结
- 暮然回首,两年已过
- java试题辨析
- 如何让org-mode显示http url中的图片