OpenCV4.1.2 QRCodeDetector測試

#include "opencv2/opencv.hpp"  
using namespace cv;
using namespace std;

int main(int argc, char *argv[])
{
	cv::Mat img = imread("3.png");//讀取本地的一張圖片便顯示出來
	Mat gray;
	cvtColor(img, gray, COLOR_RGB2GRAY);
	Mat SE = getStructuringElement(MORPH_RECT, Size(1, 7));
	dilate(gray, gray, SE);
	cv::QRCodeDetector QRdetecter;
	std::vector<cv::Point> list;
	cv::Mat  res;
	/*bool b =  QRdetecter.detect(gray, list);
	 if (b)
	 {
		 string str = QRdetecter.decode(gray, list);
		 printf("%s\n", str);
		 printf("1111\n");

	 }*/

	string str = QRdetecter.detectAndDecode(gray, list, res);
	printf("%s\n", str);
	printf("1111\n");

	for (int j = 0; j < list.size(); j++)
	{
		if (j == 3)
			line(img, list[j], list[0], Scalar(0, 255, 0), 2);
		else
			line(img, list[j], list[j + 1], Scalar(0, 255, 0), 2);
	}
	namedWindow("1", 0);
	imshow("1", img);
	if (res.data)
	{
		namedWindow("2", 0);
		imshow("2", res);
	}
	waitKey(-1);
	return 0;
}

 

發佈了17 篇原創文章 · 獲贊 4 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章