Opencv_remap

来源:互联网 发布:linux c语言ide 编辑:程序博客网 时间:2024/05/22 03:49

opencv_remap
什么叫做重映射呢?
重映射,就是把一幅图像中的某个位置上的像素放到另一个图像中指定位置上的过程。
void remap(InputArray src, OutputArraydst, InputArray map1, InputArray map2,
int interpolation, intborderMode=BORDER_CONSTANT, const Scalar& borderValue=Scalar())

第一个参数,InputArray类型的src,输入图像,即源图像,填Mat类的对象即可,且需为单通道8位或者浮点型图像。
第二个参数,OutputArray类型的dst,函数调用后的运算结果存在这里,即这个参数用于存放函数调用后的输出结果,需和源图片有一样的尺寸和类型。
map1、2:表示点(x,y)的第一个映射。
 或者表示CV_16SC2 , CV_32FC1 或CV_32FC2类型的X值
第五个参数: int类型的interpolation,插值方式
INTER_NEAREST - 最近邻插值
INTER_LINEAR – 双线性插值(默认值)
INTER_CUBIC – 双三次样条插值(逾4×4像素邻域内的双三次插值)
INTER_LANCZOS4 -Lanczos插值(逾8×8像素邻域的Lanczos插值)
第六个参数:
int类型的borderMode,边界模式,有默认值BORDER_CONSTANT,
表示目标图像中“离群点(outliers)”的像素值不会被此函数修改。
第七个参数,const Scalar&类型的borderValue,当有常数边界时使用的值,
其有默认值Scalar( ),即默认值为0。
remap(src, dst, map_x, map_y, CV_INTER_LINEAR);

0 0
原创粉丝点击