检测到 OpenCv QR-Code 但无法解码

OpenCv QR-Code is detected but can't be decoded

我用OpenCV写了一个简单的QrCode检测解码代码
但我面临的问题是二维码被检测到但无法用下图解码(见底部)。

我写的代码是这样的:

int main(int argc, char* argv[])
{
   cv::Mat src = imread("scaled.png");

   if(src.empty())
   {
      cout << "can not open " << "Picture" << endl;
      return -1;
   }

   QRCodeDetector qrDecoder = QRCodeDetector();

   std::string data;

   data = qrDecoder.detectAndDecode(src);

   if(data.length()>0)
   {
       cout << "data: " << data;     //data should be STOP 
   }

   return 0;
   }

有谁知道为什么二维码能被检测到却不能被解码?

这里是我使用的图片:

编辑: 我搜索了一些关于使用 OpenCv 检测 QR 码的信息,发现这些代码片段来自:https://docs.opencv.org/3.4.9/de/dc3/classcv_1_1QRCodeDetector.html

setEpsX(double epsX)
setEpsY(double epsY)

不幸的是,文档非常糟糕,所以有人知道这两个参数是什么,是否可以解决我的问题?

我想我发现了问题:
我使用的图像大小为 2400x1600,太大了无法解码。因此,我在解码图像之前调整了图像大小,因此我的代码如下所示:

int main(int argc, char* argv[])
{
   cv::Mat src = imread("scaled.png");

   if(src.empty())
   {
      cout << "can not open " << "Picture" << endl;
      return -1;
   }
   std::string data;
   cv::resize(src,src, cv::Size(1600,1200));
   QRCodeDetector qrDecoder = QRCodeDetector();



   data = qrDecoder.detectAndDecode(src);

   if(data.length()>0)
   {
      cout << "data: " << data;     //data should be STOP 
   }

   return 0;
}