本文主要是介绍OpenCVForUnity 透视校正,透视变换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文实现的效果是通过OpenCVForUnity实现透视图片校正,主要参考文章是点击打开链接
效果如下:
OpenCVForUnity有封装好的计算透视变换矩阵的方法:
public static Mat getPerspectiveTransform (Mat src, Mat dst)
和通过透视变换矩阵实现透视变换的方法:
public static void warpPerspective (Mat src, Mat dst, Mat M, Size dsize)
所以要实现透视校正的关键在于获取原始图片四个交叉点,大致流程: 载入图像→灰度化→边缘处理得到边缘图像→霍夫变换进行直线检测→计算得到需要的四个交叉点
灰度化图片
public static void cvtColor (Mat src, Mat dst, int code)
边缘处理
public static void Canny (Mat image, Mat edges, double threshold1, double threshold2)
霍夫曼线
public static void HoughLinesP (Mat image, Mat lines, double rho, double theta, int threshold, double minLineLength, double maxLineGap)
第一个参数为输入图像,应该为灰度图,
第二个参数为输出的检测
这篇关于OpenCVForUnity 透视校正,透视变换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!