博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重映射
阅读量:4446 次
发布时间:2019-06-07

本文共 1079 字,大约阅读时间需要 3 分钟。

重映射

重映射就是把一幅图像中某个位置的像素放置到另一个图片中指定位置的过程。

用一个数学公式来表示就是:

其中的 f 就是映射方式,也就说,像素点在另一个图像中的位置是由 f 来计算的。

在OpenCV中,用的是remap函数实现重映射。

基本重映射

1 #include 
2 #include
3 #include
4 #include
5 #include
6 using namespace cv; 7 using namespace std; 8 int main() 9 {10 Mat srcImage,dstImage;11 Mat map_x,map_y;12 srcImage=imread("E:\\lena.jpg");13 imshow("srcImage",srcImage);14 //创建和原始图一样的效果图,X重映射图,Y重映射图15 dstImage.create(srcImage.size(),srcImage.type());16 map_x.create(srcImage.size(),CV_32FC1);17 map_y.create(srcImage.size(),CV_32FC1);18 //双层循环,遍历每一个像素点,改变map_x,map_y的值19 for(int j=0;j
(j,i)=static_cast
(i);24 map_y.at
(j,i)=static_cast
(srcImage.rows-j);25 }26 }27 //进行重映射操作28 remap(srcImage,dstImage,map_x,map_y,INTER_LINEAR,BORDER_CONSTANT,Scalar(0,0,0));29 imshow("cxck",dstImage);30 waitKey();31 return 0;32 33 }

map_x与map_y分别代表目标图中的(x,y)点在原图中的x坐标(由map_x提供)与y坐标(由map_y提供)。

运行结果

 

转载于:https://www.cnblogs.com/fpzs/p/9697019.html

你可能感兴趣的文章
safari 插件安装之alipay
查看>>
【语言处理与Python】3.3使用Unicode进行文字处理
查看>>
python+senium+chrome的简单爬虫脚本
查看>>
CoronaSDK场景管理库:Composer library (上)
查看>>
Centos 7 下 Zabbix 3.4.x 服务搭建
查看>>
PDO中捕获SQL语句中的错误
查看>>
C++之动态数组
查看>>
Linux常用命令大全
查看>>
System.Web.Optimization 找不到引用,教你如何解决?
查看>>
HTML深入探究(一)HTML入门
查看>>
flash 反编译 + 重新发布
查看>>
浅析JTable与TableModel、TableCellRenderer、TableCellEditor接口——使用JComboBox显示单元格的值...
查看>>
项目设计之一---------- 代码重构
查看>>
uva10125
查看>>
统计细胞数量
查看>>
GBase数据库——常用命令
查看>>
BMP字节流转成CBitmap类
查看>>
Go语言程序结构
查看>>
修改上传功能时遇到的问题
查看>>
差分约束系统小结
查看>>