Episode Five:opencv中关于Homography()函数的应用


该例子为用opencv实现替换广告牌,也是参考了其他人的代码,请见谅!主要是学习了代码中为了实现图像的缩放和旋转而寻找一个变换矩阵H,并应用该矩阵。

code:

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>//findHomography()函数在该文件中
#include <iostream>

using namespace cv;
using namespace std;

struct userdata
{
	Mat im;
	vector<Point2f> points;
};

void mouseHandler(int event,int x,int y,int flags,void* data_ptr)
{
	if (event == EVENT_LBUTTONDOWN)
	{
		userdata *data = ((userdata*)data_ptr);
		circle(data->im, Point(x, y), 3, Scalar(0, 255, 255), 5, CV_AA);
		imshow("Time_Square", data->im);
		if (data->points.size() < 4)
		{
			data->points.push_back(Point2f(x, y));
		}
	}
}


int main()//虚拟广告牌
{
	//读入一张新图像
	Mat img_src = imread("pic/hp1.jpg");
	Size size = img_src.size();

	//创建一个点的不定数组
	vector<Point2f> pts_src;
	pt
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值