您的位置:首页 > 运维架构

opencv3学习之图像的翻转--重映射

2017-08-19 22:35 239 查看
//35.重映射

#include <opencv2/opencv.hpp>

#include <opencv2/imgproc/imgproc.hpp>

using namespacecv;

int main(){

    Mat srcImage,dstImage;

    Mat map_x,map_y;

    srcImage=imread("/Users/oumoemoe/Downloads/building.png");

    if(!srcImage.data){

        printf("读取图像失败\n");

        returnfalse;

    }

    imshow("first", srcImage);

    dstImage.create(srcImage.size(), srcImage.type());

    map_x.create(srcImage.size(),CV_32FC1);

    map_y.create(srcImage.size(),CV_32FC1);

    

    for(int j=0;j<srcImage.rows;j++){

        for(int i=0;i<srcImage.cols;i++){

            map_x.at<float>(j,i)=static_cast<float>(i);

            map_y.at<float>(j,i)=static_cast<float>(srcImage.rows-j);//如果是按x轴进行变换,则对x进行如下操作

            //map_x.at<float>(j,i)=static_cast<float>(srcImage.cols-i);

            

        }

    }

    

    remap(srcImage, dstImage, map_x, map_y,INTER_LINEAR,BORDER_CONSTANT,Scalar(0,0,0));

    imshow("final", dstImage);

    waitKey(0);

    return0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: