首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用openCV从照片中检测二维码的问题

使用openCV从照片中检测二维码的问题
EN

Stack Overflow用户
提问于 2019-12-01 18:11:14
回答 1查看 570关注 0票数 0

我目前正在开发一个android应用程序,它应该能够从拍摄的照片中检测到二维码。不需要解码二维码,因为只需要对相机进行校准即可。我正在使用openCV,当我尝试从原始下载的二维码图片中检测二维码时,它工作正常。这是我使用的代码:

代码语言:javascript
复制
bitmap= BitmapFactory.decodeResource(getResources(),R.drawable.qrcodemitzeugs);
Mat img =new Mat();
Utils.bitmapToMat(bitmap,img)
Mat points= new Mat();
QRCodeDetector detector=new QRCodeDetector();
boolean data = detector.detect(img, points);

但当我在用智能手机相机拍摄的照片上尝试相同的代码时,二维码没有被检测到。我寻找了一个解决方案,发现可能是对比度不够高,所以使用以下代码将图片转换为二进制:

代码语言:javascript
复制
Imgproc.cvtColor(img,img2,Imgproc.COLOR_BGR2GRAY);
Imgproc.threshold(img2,img2,100,255,Imgproc.THRESH_BINARY);

它返回了整个黑白图像,但仍然没有检测到二维码。我做错了什么吗?或者这个问题有解决方案吗?

One of the images i used我必须在上传之前调整图片的大小

EN

回答 1

Stack Overflow用户

发布于 2019-12-03 17:01:18

因此,我解决了我的问题,通过将Mat的大小调整为最大1200x1200。显然,OpenCV QRCodeDetector只能处理大约85x85和大约1200x1200之间的垫,其中二维码本身必须至少有大约80x80的大小。我用原始二维码的图像进行了测试,它的大小是600x600。我调整了它的大小,直到二维码不再被检测到。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59124533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档