您现在的位置是:主页 > news > 网站上线前要做哪些准备/网络营销策划与创意
网站上线前要做哪些准备/网络营销策划与创意
admin2025/6/21 10:09:02【news】
简介网站上线前要做哪些准备,网络营销策划与创意,如何做网站的需求分析,phpwind能做网站吗## 图像的透视变换透视变换时按照物体成像投影规律进行变换,即将透视物体重新投影到新的成像平面。在透视变换中,透视前的图像和透视后的图像之间的变换关系可以用一个3✖3的矩阵表示,该矩阵可以通过两幅图像中4个对应点的坐标求取࿰…
网站上线前要做哪些准备,网络营销策划与创意,如何做网站的需求分析,phpwind能做网站吗## 图像的透视变换透视变换时按照物体成像投影规律进行变换,即将透视物体重新投影到新的成像平面。在透视变换中,透视前的图像和透视后的图像之间的变换关系可以用一个3✖3的矩阵表示,该矩阵可以通过两幅图像中4个对应点的坐标求取࿰…
## 图像的透视变换
透视变换时按照物体成像投影规律进行变换,即将透视物体重新投影到新的成像平面。在透视变换中,透视前的图像和透视后的图像之间的变换关系可以用一个3✖3的矩阵表示,该矩阵可以通过两幅图像中4个对应点的坐标求取,因此透视变换又称作“四点变换”。
计算透视变换矩阵
getPerspevtiveTransform()
Mat cv::getPerspectiveTransform ( InputArray src,InputArray dst,int solveMethod = DECOMP_LU
)
- src[]:原图像中的4个像素坐标
- dst[]:没目标图像的4个像素坐标
- solveMethod:选择计算透视变换矩阵方法的标志,可以选择的参数即含义如下给出
参数标志 | 简记 | 作用 |
---|---|---|
DECOMP_LU | 0 | 最佳主轴元素的高斯消元法 |
DECOMP_SVD | 1 | 奇异值分解法 |
DECOMP_EIG | 2 | 特征值分解法 |
DECOMP_CHOLESKY | 4 | Cholesky 值分解法 |
DECOMP_QR | 8 | QR 值分解法 |
DECOMP_NORMAL | 16 | 使用正规方程式,可以与其他标志一起使用 |
透视变换函数
warpPerspective()
void cv::warpPerspective( InputArray src,OutputArray dst,InputArray M,Size dsize,int flags = INTER_LINEAR,int borderMode = BORDER_CONSTANT,const Scalar & borderValue = Scalar()
)
- src:输入图像
- dst:透视变换后输出图像
- M:3✖3矩阵
- dsize:输出图像的尺寸
- flags:插值法标志
- bordermode:像素边界外推法标志
- borderValue:填充边界使用的数值,默认情况下为0
代码
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;int main()
{Mat img = imread("E:/Aha/学习/OpenCV/learnOpenCV4-master/data/noobcvqr.png");Point2f src_point[4];Point2f dst_point[4];// 通过 imgwatch 查看二维码四个点// upr upl downr downl// befor p1(93, 374) p2(508, 380) p3(1, 624) p4(627,627) // end p1(00, 00) p2(627, 0) p3(0, 627) p4(627,627)src_point[0] = Point2f(93.0, 374.0);src_point[1] = Point2f(508.0, 380.0);src_point[2] = Point2f(1.0, 624.0);src_point[3] = Point2f(627.0, 627.0);dst_point[0] = Point2f(0.0, 0.0);dst_point[1] = Point2f(627.0, 0.0);dst_point[2] = Point2f(0.0, 627.0);dst_point[3] = Point2f(627.0, 627.0);imshow("好久不见", img);Mat rotation, img_warp;rotation = getPerspectiveTransform(src_point, dst_point);warpPerspective(img, img_warp, rotation, img.size());imshow("不忘初心", img_warp);waitKey(0);return 0;
}