opencv4.0.0 二维码检测

偶然间发现opencv4.0.0正式版已经发布了,听说有二维码检测功能,就试了试。

目前还没有发现自带的文档中关于二维码检测的示例,所以自己探索了下,把代码记录下。

话不多说,直接上代码。


#include 
#include

using namespace cv;
int main()

{
	//读取本地的一张图片便显示出来
	cv::Mat img = imread("1.jpg");
	cv::QRCodeDetector QRdetecter;
	std::vector list;
	cv::Mat  res;
	QRdetecter.detectAndDecode(img, list, res);

	for (int i = 0; i < list.size(); i++)
	{
		
		if(i==3)
			line(img, list[i], list[0], Scalar(0, 255, 0), 2);
		else
			line(img, list[i], list[i + 1], Scalar(0, 255, 0), 2);

	}

	imshow("测试窗口", img);

	waitKey(0);
	return 0;
}

其中,源图为

opencv4.0.0 二维码检测_第1张图片

list中存放着检测到的二维码矩形框的四个顶点,画上去之后,其效果如图所示:

opencv4.0.0 二维码检测_第2张图片

res中存放着二维码图片

opencv4.0.0 二维码检测_第3张图片

你可能感兴趣的:(opencv)