OpenCV笔记(十一)

重映射:

#include<opencv2/opencv.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main(){
	Mat srcImage=imread("liba.jpg");
	Mat dstImage;
	//srcImage.copyTo(dstImage);//srcImage.clone()
	Mat mapx,mapy;
	mapx.create(srcImage.size(),CV_32FC1);
	mapy.create(srcImage.size(),CV_32FC1);
	for(int y=0;y<srcImage.rows;y++){
		for(int x=0;x<srcImage.cols;x++){
			mapx.at<float>(y,x)=static_cast<float>(srcImage.cols-x);//左右交换
			mapy.at<float>(y,x)=static_cast<float>(y);
		}
	}
	remap(srcImage,dstImage,mapx,mapy,CV_INTER_LINEAR,BORDER_CONSTANT,Scalar(0,0,0));
	imshow("0",srcImage);
	imshow("1",dstImage);
	waitKey(0);
}

OpenCV笔记(十一)_第1张图片

你可能感兴趣的:(OpenCV笔记(十一))