假设我们要实现QUEEN 这张片的视觉转换,使图像转换之后犹如我们正面看过一样
首先打开图形编辑器分别记录这张卡片四个边角的像素点
再利用原扑克的高宽比例 3.5:2.5 重新设置新视角的四边角像素点,具体程序如下所示:
#include <iostream>
#include <opencv2/highgui.hpp> // 说是说gui 具体什么gui 不清楚
#include <opencv2/imgcodecs.hpp> // 图像头文件
#include <opencv2/imgproc.hpp> // 图像处理头文件
using namespace std;
using namespace cv;
float w = 250, h = 350; // 知道卡片的长宽分别为 2.5 cm 和 3.5 cm 因此我们按照比例进行放大所缩小即可
Mat matrix, imgWarp;
int main()
{
string path = "resources/cards.jpg"; // 导入图形的时候,先要在右边点击显示所有文件!!!
Mat img = imread(path); // 在opencv 中所有的图像信息都使用Mat
/*Queen 卡片*/
Point2f src[4] = { {66,324},{338,279},{89,634}