cvRemap 对图像进行普通几何变换
来源:互联网 发布:js图片翻转效果 编辑:程序博客网 时间:2024/06/07 05:01
cvRemap 对图像进行普通几何变换
函数 cvRemap 利用下面指定的矩阵变换输入图像:
dst(x,y)<-src(mapx(x,y),mapy(x,y))
与其它几何变换类似,可以使用一些插值方法(由用户指定,同cvResize)来计算非整数坐标的像素值
void cvRemap( const CvArr* src, CvArr* dst,const CvArr* mapx, const CvArr* mapy,int flags=CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS,CvScalar fillval=cvScalarAll(0) );src 输入图像.
dst 输出图像.
mapx x坐标的映射 (32fC1 image).
mapy y坐标的映射 (32fC1 image).
flags 插值方法和以下开关选项的组合:
CV_WARP_FILL_OUTLIERS - 填充边界外的像素. 如果输出图像的部分象素落在变换后的边界外,那么它们的值设定为 fillval。
#include "cv.h"#include "cxcore.h"#include "highgui.h"#include <iostream>int Remap(int argc,char** argv){uchar DataSrc[]={1,2,3, 4,5,6, 7,8,9};CvMat MatSrc;cvInitMatHeader(&MatSrc,3,3,CV_8UC1,DataSrc); //初始化矩阵CvMat *MatDst=cvCreateMat(3,3,CV_8UC1); //创建矩阵//cvInitMatHeader(&MatDst,3,3,CV_8UC1);float DataMapx[]={1,2,0, //cvRemap函数的mapx一定要为float型 1,2,0, 1,2,0};CvMat mapx;cvInitMatHeader(&mapx,3,3,CV_32FC1,DataMapx); //注意类型是CV_32FC1float DataMapy[]={0,0,1, 1,1,2, 2,2,0};CvMat mapy;cvInitMatHeader(&mapy,3,3,CV_32FC1,DataMapy);cvRemap(&MatSrc,MatDst,&mapx,&mapy,CV_INTER_LINEAR | CV_WARP_FILL_OUTLIERS);//打印原矩阵std::cout<<"MatSrc=\'#\'" //打印mapxstd::cout<<"mapx:"<<std::endl;for(int rows=0;rows<mapx.height;rows++){float *DataPt=(float*)(mapx.data.ptr+rows*mapx.step);for(int cols=0;cols<mapx.width;cols++){float data=*(DataPt+cols);std::cout<<(float)data<<" ";}std::cout<<std::endl;}//打印mapystd::cout<<"mapy:"<<std::endl;for(int rows=0;rows<mapy.height;rows++){float *DataPt=(float*)(mapy.data.ptr+rows*mapy.step);for(int cols=0;cols<mapy.width;cols++){float data=*(DataPt+cols);std::cout<<(float)data<<" ";}std::cout<<std::endl;}//打印结果矩阵std::cout<<"MatDst:"<<std::endl;for(int rows=0;rows<MatDst->height;rows++){uchar *DataPt=(uchar*)(MatDst->data.ptr+rows*MatDst->step);for(int cols=0;cols<MatDst->width;cols++){uchar data=*(DataPt+cols);std::cout<<(int)data<<" ";}std::cout<<std::endl;}return 0;}
0 0
- cvRemap 对图像进行普通几何变换
- vc对图像进行平移,转置等几何变换
- Bitmap,使用Matrix对图像几何变换
- (6)Air Band数字图像处理基础-对图像进行几何变换
- OpenCV----对图像进行幂次变换
- 对图像进行旋转、缩放等变换
- 图像的几何变换
- 图像的几何变换
- 图像的几何变换
- 图像的几何变换
- 图像变换几何模型
- 图像几何变换
- 图像几何变换
- 图像的几何变换
- 图像中的几何变换
- 图像几何变换
- 图像的几何变换
- 图像的几何变换
- 重温STL, STD
- 三月礼赞
- 武汉连云在线坚决抵制加盟骗局 做您自主创业商城加盟的好伙伴
- RPC学习
- 绚丽的野外环境AE电子相册模板
- cvRemap 对图像进行普通几何变换
- Android 从入门到精通 第6章 Android应用的核心 Intent
- Linux 虚拟内存
- fork函数
- HTTPS那些事
- linux grep命令
- MUI实战开发第四集--如何增加自定义icon图标
- Linux 文件基本属性
- opencv利用cvCalcHist获得手的肤色直方图的比较汇总