一、
二、
#include "opencv2/opencv.hpp" #include <QDebug> using namespace std; using namespace cv; int main(int argc, char *argv[]) { cv::Mat img = imread("E:/Document/images/qrcode.png"); cv::QRCodeDetector qrcodeDetector; std::vector<cv::Point> points; cv::Mat straightImg; //img:含有QR二維碼的圖像。 //points:包含QR二維碼的最小區域四邊形的四個頂點坐標。 //straight_qrcode:經過校正和二值化的QR二維碼。 std::string codeText= qrcodeDetector.detectAndDecode(img, points, straightImg); qDebug()<<"code:"<<QString::fromStdString(codeText); qDebug()<<"points size:"<<points.size(); //標示二維碼邊框 rectangle(img,points[0],points[2],Scalar(0, 255, 0),2); imshow("test", img); waitKey(0); return 0; }