原本打算用深度学习的,但是....各种原因。于是想着随便先实现以一下,发现效果还不错,还节约成本。美滋滋
现成代码美滋滋,先上个链接
http://blog.youkuaiyun.com/chongshangyunxiao321/article/details/50999212
再上图
用上面博客的代码,再改改参数,美滋滋。
但是会出现丢帧的情况。这对追求完美的我。。。。。。。。。的老板来说不行啊。
于是想用深度学习做一做。
怎么做?表急,一步一步来。。。。。
先看一下逆透视变换。这里是用的opencv的四点变换。
先上个链接,链接关了。直接上代码吧。
#include <cv.h>
#include <highgui.h>
using namespace std;
int main()
{
CvPoint2D32f srcQuad[4], dstQuad[4];
CvMat *warp_matrix = cvCreateMat(3, 3, CV_32FC1);
IplImage *src, *dst;
if (((src = cvLoadImage("D:\\路径\\3.png", 1)) != 0))
{
dst = cvCloneImage(src);
dst->origin = src->origin;//确定起点位置为座顶角
cvZero(dst);
srcQuad[0].x = 0;
srcQuad[0].y = 0;
srcQuad[1].x = src->width - 1.;
srcQuad[1].y = 0;
srcQuad[2].x = 0;
srcQuad[2].y = src->height - 1;
srcQuad[3].x = src->width - 1;
srcQ