opencv学习——左右翻转摄像头
VideoCapture video;
video.open(0);
一般我们使用上面的代码打开摄像头后,屏幕里的视频图像不是镜像的,为了实现镜像的效果,可以使用下面的方法,将每一帧的图像左右翻转过来
//左右翻转图像
Point2f triangleA[3];
Point2f triangleB[3];
triangleA[0] = Point2f(0, 0);
triangleA[1] = Point2f(1, 0);
triangleA[2] = Point2f(0, 1);
triangleB[0] = Point2f(1, 0);
triangleB[1] = Point2f(0, 0);
triangleB[2] = Point2f(1, 1);
Mat affineMat = getAffineTransform(triangleA, triangleB);
warpAffine(beforeFrame,
frame,
affineMat,
beforeFrame.size(),
INTER_CUBIC,
BORDER_WRAP);
warpAffin()函数可用于执行仿射变换。使用时需要为该函数提供一个适当的变换矩阵,该矩阵通过getAffineTransform()函数获得。原理如下图所示