簡體   English   中英

Google ML Kit 條碼掃描器無法掃描綠色背景的 QR 碼

[英]Google ML Kit barcode scanner does not scan QR code with green background

我注意到Google 的 ML Kit Barcode 掃描儀有一個奇怪的問題。 我嘗試掃描綠色背景的二維碼,但它根本無法識別二維碼。 但是,如果我裁剪相同的二維碼並刪除綠色背景,那么它掃描得非常好。 我沒有在此處放置我的實現的任何代碼示例,因為官方示例具有完全相同的問題。 這是我的形象。 我什至不知道如何研究這個問題,因為我完全不明白綠色背景可以做什么。 在此處輸入圖像描述

好吧,在花了一些時間嘗試用各種圖像處理技術等解決這個問題之后,我發現解決方案相當簡單,而且總是擺在我面前。

因此,在構建圖像分析器時,有一個配置函數來設置 Target Resolution setTargetResolution(@NonNull Size resolution) ,如果沒有明確設置默認為640x480 ,這對於與圖像分析器相關的一般用例可能是可以的(否則我想知道為什么谷歌應該選擇這個分辨率作為默認)。 對於普通的二維碼也可以,但對於像這樣有問題的二維碼,它似乎會搞砸,所以機器學習套件需要更高分辨率的圖像來處理。

所以只要把這個默認的640x480 1920x1440就馬上解決了這個問題,而且沒有邊框的二維碼馬上就開始掃描了,性能非常好。 我也嘗試了其他更小的分辨率,在不同的高端和低端設備上嘗試了好壞相機,並得出了這個似乎表現最好的分辨率。

所以目前我的圖像分析器生成器看起來像這樣,它工作得很好

private val analyzerUseCase = ImageAnalysis.Builder()
        .setTargetResolution(Size(1440, 1920))
        .setBackpressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST)
        .build()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM