导读
本文主要介绍如何使用OpenCvSharp中的透视变换来实现二维码的畸变矫正。
实现步骤
讲解实现步骤之前先看下效果(左边是原图,右边是矫正后的效果):
【1】需求分析
由于相机拍摄角度,导致二维码形状不是矩形,存在明显的畸变。我们希望将其矫正为正常的矩形或者正方形图案,方便解码或其他图像处理。
初步设想的处理步骤如下:
① 通过预处理将二维码部分轮廓找到;
② 通过轮廓分析手段找到二维码的四个角点;
③ 基于找到的四个角点,使用透视变换将二维码矫正。
【2】实现步骤演示
① 通过简单二值化分割二维码区域,因为目标黑色,背景高亮,所以二值化参数使用ThresholdTypes.BinaryInv
Mat src = Cv2.ImRead("1.jpg