opencv4.0.0 二維碼檢測

偶然間發現opencv4.0.0正式版已經發布了,聽說有二維碼檢測功能,就試了試。

目前還沒有發現自帶的文檔中關於二維碼檢測的示例,所以自己探索了下,把代碼記錄下。

話不多說,直接上代碼。


#include <iostream>
#include<opencv2\opencv.hpp>

using namespace cv;
int main()

{
	//讀取本地的一張圖片便顯示出來
	cv::Mat img = imread("1.jpg");
	cv::QRCodeDetector QRdetecter;
	std::vector<cv::Point> 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;
}

其中,源圖爲

list中存放着檢測到的二維碼矩形框的四個頂點,畫上去之後,其效果如圖所示:

res中存放着二維碼圖片

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章