QR Code Recognition Benchmark

780 synthetic images · 65 scenarios · 12 payload types

Recognition pass rate

qore timings cover detection and decoding on in-memory images. Third-party synthetic baseline timings include image loading and decompression.

#1
qore
96.67%
754 / 780 passed
Mean 7.95 ms/imageTotal 6.20 s
#2
zxing-cpp
93.8%
732 / 780 passed
Mean 33.2 ms/imageTotal 25.88 s
#3
wechat-qr
87.4%
682 / 780 passed
Mean 30.1 ms/imageTotal 23.47 s
#4
opencv-qr
52.2%
407 / 780 passed
Mean 76.7 ms/imageTotal 59.85 s

Pass counts and failures by scenario

Select a scenario row to view failed samples.

A. Placement and scale

ScenarioDescription zxing-cpp wechat-qr opencv-qr qore
A01Document center 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__A01_doc_center.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__A01_doc_center.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__A01_doc_center.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
A02Small code at bottom right 12/12 11/12 8/12 12/12
wechat-qr 1 failed
short__A02_doc_corner_small.png
OK (V1)
Decoded: No decoded payload
opencv-qr 4 failed
dense_300__A02_doc_corner_small.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__A02_doc_corner_small.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__A02_doc_corner_small.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__A02_doc_corner_small.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
A03Document top right 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__A03_doc_top_right.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__A03_doc_top_right.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__A03_doc_top_right.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
A04Document with a table 12/12 11/12 9/12 12/12
wechat-qr 1 failed
short__A04_doc_with_table.png
OK (V1)
Decoded: No decoded payload
opencv-qr 3 failed
dense_600__A04_doc_with_table.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__A04_doc_with_table.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__A04_doc_with_table.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
A05Document on a desk 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__A05_on_desk.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__A05_on_desk.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__A05_on_desk.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
A062 cm code in an A4 corner 12/12 6/12 0/12 12/12
wechat-qr 6 failed
url__A06_tiny_qr.png
URL (V3)
Decoded: No decoded payload
japanese__A06_tiny_qr.png
Japanese text (V5)
Decoded: No decoded payload
numeric__A06_tiny_qr.png
40 digits (V2)
Decoded: No decoded payload
short__A06_tiny_qr.png
OK (V1)
Decoded: No decoded payload
wifi__A06_tiny_qr.png
WiFi (V3)
Decoded: No decoded payload
uuid__A06_tiny_qr.png
UUID (V3)
Decoded: No decoded payload
opencv-qr 12 failed
url__A06_tiny_qr.png
URL (V3)
Decoded: No decoded payload
long_url__A06_tiny_qr.png
Long URL (V6)
Decoded: No decoded payload
japanese__A06_tiny_qr.png
Japanese text (V5)
Decoded: No decoded payload
numeric__A06_tiny_qr.png
40 digits (V2)
Decoded: No decoded payload
short__A06_tiny_qr.png
OK (V1)
Decoded: No decoded payload
vcard__A06_tiny_qr.png
vCard (V5)
Decoded: No decoded payload
wifi__A06_tiny_qr.png
WiFi (V3)
Decoded: No decoded payload
uuid__A06_tiny_qr.png
UUID (V3)
Decoded: No decoded payload
dense_300__A06_tiny_qr.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__A06_tiny_qr.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__A06_tiny_qr.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__A06_tiny_qr.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload

B. Lighting and degradation

ScenarioDescription zxing-cpp wechat-qr opencv-qr qore
B01Left shadow 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__B01_shadow_left.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__B01_shadow_left.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__B01_shadow_left.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
B02Right shadow 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__B02_shadow_right.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__B02_shadow_right.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__B02_shadow_right.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
B03Diagonal shadow 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__B03_shadow_diagonal.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__B03_shadow_diagonal.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__B03_shadow_diagonal.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
B04Top shadow 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__B04_shadow_top.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__B04_shadow_top.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__B04_shadow_top.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
B05Spotlight 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__B05_spotlight.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__B05_spotlight.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__B05_spotlight.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
B06Off-center spotlight 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__B06_spotlight_offset.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__B06_spotlight_offset.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__B06_spotlight_offset.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
B07Paper texture and wrinkles 12/12 12/12 9/12 12/12
opencv-qr 3 failed
url__B07_paper_texture.png
URL (V3)
Decoded: No decoded payload
dense_600__B07_paper_texture.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__B07_paper_texture.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
B08Stains 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__B08_stained.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__B08_stained.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__B08_stained.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
B09Low-contrast print 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__B09_low_contrast.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__B09_low_contrast.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__B09_low_contrast.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
B10Very low-contrast print 12/12 12/12 8/12 12/12
opencv-qr 4 failed
vcard__B10_very_low_contrast.png
vCard (V5)
Decoded: No decoded payload
dense_600__B10_very_low_contrast.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__B10_very_low_contrast.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__B10_very_low_contrast.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
B11Inverted polarity 12/12 11/12 0/12 12/12
wechat-qr 1 failed
short__B11_inverted.png
OK (V1)
Decoded: No decoded payload
opencv-qr 12 failed
url__B11_inverted.png
URL (V3)
Decoded: No decoded payload
long_url__B11_inverted.png
Long URL (V6)
Decoded: No decoded payload
japanese__B11_inverted.png
Japanese text (V5)
Decoded: No decoded payload
numeric__B11_inverted.png
40 digits (V2)
Decoded: No decoded payload
short__B11_inverted.png
OK (V1)
Decoded: No decoded payload
vcard__B11_inverted.png
vCard (V5)
Decoded: No decoded payload
wifi__B11_inverted.png
WiFi (V3)
Decoded: No decoded payload
uuid__B11_inverted.png
UUID (V3)
Decoded: No decoded payload
dense_300__B11_inverted.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__B11_inverted.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__B11_inverted.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__B11_inverted.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
B12Colored paper 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__B12_colored_paper.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__B12_colored_paper.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__B12_colored_paper.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
B13Heavy noise 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__B13_heavy_noise.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__B13_heavy_noise.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__B13_heavy_noise.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload

C. Distortion and rotation

ScenarioDescription zxing-cpp wechat-qr opencv-qr qore
C01Mild perspective distortion 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__C01_persp_mild.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C01_persp_mild.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C01_persp_mild.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
C02Moderate perspective distortion 12/12 12/12 9/12 12/12
opencv-qr 3 failed
vcard__C02_persp_moderate.png
vCard (V5)
Decoded: No decoded payload
dense_300__C02_persp_moderate.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_1200__C02_persp_moderate.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
C03Strong perspective distortion 12/12 8/12 7/12 12/12
wechat-qr 4 failed
short__C03_persp_strong.png
OK (V1)
Decoded: No decoded payload
dense_600__C03_persp_strong.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C03_persp_strong.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C03_persp_strong.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
opencv-qr 5 failed
vcard__C03_persp_strong.png
vCard (V5)
Decoded: No decoded payload
wifi__C03_persp_strong.png
WiFi (V3)
Decoded: No decoded payload
dense_600__C03_persp_strong.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C03_persp_strong.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C03_persp_strong.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
C04Extreme perspective distortion 12/12 8/12 4/12 11/12
wechat-qr 4 failed
numeric__C04_persp_extreme.png
40 digits (V2)
Decoded: No decoded payload
uuid__C04_persp_extreme.png
UUID (V3)
Decoded: No decoded payload
dense_1200__C04_persp_extreme.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C04_persp_extreme.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
opencv-qr 8 failed
url__C04_persp_extreme.png
URL (V3)
Decoded: No decoded payload
numeric__C04_persp_extreme.png
40 digits (V2)
Decoded: No decoded payload
vcard__C04_persp_extreme.png
vCard (V5)
Decoded: No decoded payload
uuid__C04_persp_extreme.png
UUID (V3)
Decoded: No decoded payload
dense_300__C04_persp_extreme.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__C04_persp_extreme.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C04_persp_extreme.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C04_persp_extreme.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
qore 1 failed
uuid__C04_persp_extreme.png
UUID (V3)
Decoded: No decoded payload
C05Top view at 20° 12/12 12/12 9/12 12/12
opencv-qr 3 failed
numeric__C05_topdown_20deg.png
40 digits (V2)
Decoded: No decoded payload
dense_1200__C05_topdown_20deg.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C05_topdown_20deg.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
C06Top view at 40° 12/12 12/12 10/12 12/12
opencv-qr 2 failed
dense_1200__C06_topdown_40deg.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C06_topdown_40deg.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
C07Top view at 55° 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__C07_topdown_55deg.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C07_topdown_55deg.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C07_topdown_55deg.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
C08Side view at 20° 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__C08_side_20deg.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C08_side_20deg.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C08_side_20deg.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
C09Side view at 40° 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__C09_side_40deg.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C09_side_40deg.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C09_side_40deg.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
C10Barrel distortion 12/12 9/12 9/12 12/12
wechat-qr 3 failed
dense_600__C10_barrel.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C10_barrel.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C10_barrel.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
opencv-qr 3 failed
dense_600__C10_barrel.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C10_barrel.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C10_barrel.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
C11Strong barrel distortion 11/12 9/12 8/12 11/12
zxing-cpp 1 failed
dense_1200__C11_barrel_strong.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
wechat-qr 3 failed
dense_600__C11_barrel_strong.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C11_barrel_strong.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C11_barrel_strong.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
opencv-qr 4 failed
short__C11_barrel_strong.png
OK (V1)
Decoded: No decoded payload
dense_600__C11_barrel_strong.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C11_barrel_strong.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C11_barrel_strong.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
qore 1 failed
dense_1200__C11_barrel_strong.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
C12Pincushion distortion 12/12 9/12 8/12 12/12
wechat-qr 3 failed
dense_600__C12_pincushion.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C12_pincushion.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C12_pincushion.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
opencv-qr 4 failed
short__C12_pincushion.png
OK (V1)
Decoded: No decoded payload
dense_600__C12_pincushion.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C12_pincushion.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C12_pincushion.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
C13Wave distortion 12/12 12/12 0/12 12/12
opencv-qr 12 failed
url__C13_wave.png
URL (V3)
Decoded: No decoded payload
long_url__C13_wave.png
Long URL (V6)
Decoded: No decoded payload
japanese__C13_wave.png
Japanese text (V5)
Decoded: No decoded payload
numeric__C13_wave.png
40 digits (V2)
Decoded: No decoded payload
short__C13_wave.png
OK (V1)
Decoded: No decoded payload
vcard__C13_wave.png
vCard (V5)
Decoded: No decoded payload
wifi__C13_wave.png
WiFi (V3)
Decoded: No decoded payload
uuid__C13_wave.png
UUID (V3)
Decoded: No decoded payload
dense_300__C13_wave.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__C13_wave.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C13_wave.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C13_wave.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
C14Strong wave distortion 10/12 9/12 0/12 11/12
zxing-cpp 2 failed
dense_300__C14_wave_strong.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_1200__C14_wave_strong.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
wechat-qr 3 failed
long_url__C14_wave_strong.png
Long URL (V6)
Decoded: No decoded payload
dense_1200__C14_wave_strong.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C14_wave_strong.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
opencv-qr 12 failed
url__C14_wave_strong.png
URL (V3)
Decoded: No decoded payload
long_url__C14_wave_strong.png
Long URL (V6)
Decoded: No decoded payload
japanese__C14_wave_strong.png
Japanese text (V5)
Decoded: No decoded payload
numeric__C14_wave_strong.png
40 digits (V2)
Decoded: No decoded payload
short__C14_wave_strong.png
OK (V1)
Decoded: No decoded payload
vcard__C14_wave_strong.png
vCard (V5)
Decoded: No decoded payload
wifi__C14_wave_strong.png
WiFi (V3)
Decoded: No decoded payload
uuid__C14_wave_strong.png
UUID (V3)
Decoded: No decoded payload
dense_300__C14_wave_strong.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__C14_wave_strong.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C14_wave_strong.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C14_wave_strong.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
qore 1 failed
dense_1200__C14_wave_strong.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
C15Cylindrical distortion 1/12 2/12 0/12 7/12
zxing-cpp 11 failed
url__C15_cylindrical.png
URL (V3)
Decoded: No decoded payload
long_url__C15_cylindrical.png
Long URL (V6)
Decoded: No decoded payload
japanese__C15_cylindrical.png
Japanese text (V5)
Decoded: No decoded payload
numeric__C15_cylindrical.png
40 digits (V2)
Decoded: No decoded payload
vcard__C15_cylindrical.png
vCard (V5)
Decoded: No decoded payload
wifi__C15_cylindrical.png
WiFi (V3)
Decoded: No decoded payload
uuid__C15_cylindrical.png
UUID (V3)
Decoded: No decoded payload
dense_300__C15_cylindrical.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__C15_cylindrical.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C15_cylindrical.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C15_cylindrical.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
wechat-qr 10 failed
url__C15_cylindrical.png
URL (V3)
Decoded: No decoded payload
long_url__C15_cylindrical.png
Long URL (V6)
Decoded: No decoded payload
japanese__C15_cylindrical.png
Japanese text (V5)
Decoded: No decoded payload
vcard__C15_cylindrical.png
vCard (V5)
Decoded: No decoded payload
wifi__C15_cylindrical.png
WiFi (V3)
Decoded: No decoded payload
uuid__C15_cylindrical.png
UUID (V3)
Decoded: No decoded payload
dense_300__C15_cylindrical.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__C15_cylindrical.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C15_cylindrical.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C15_cylindrical.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
opencv-qr 12 failed
url__C15_cylindrical.png
URL (V3)
Decoded: No decoded payload
long_url__C15_cylindrical.png
Long URL (V6)
Decoded: No decoded payload
japanese__C15_cylindrical.png
Japanese text (V5)
Decoded: No decoded payload
numeric__C15_cylindrical.png
40 digits (V2)
Decoded: No decoded payload
short__C15_cylindrical.png
OK (V1)
Decoded: No decoded payload
vcard__C15_cylindrical.png
vCard (V5)
Decoded: No decoded payload
wifi__C15_cylindrical.png
WiFi (V3)
Decoded: No decoded payload
uuid__C15_cylindrical.png
UUID (V3)
Decoded: No decoded payload
dense_300__C15_cylindrical.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__C15_cylindrical.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C15_cylindrical.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C15_cylindrical.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
qore 5 failed
long_url__C15_cylindrical.png
Long URL (V6)
Decoded: No decoded payload
dense_300__C15_cylindrical.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__C15_cylindrical.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C15_cylindrical.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C15_cylindrical.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
C16Tight cylindrical distortion 1/12 1/12 0/12 7/12
zxing-cpp 11 failed
url__C16_cylindrical_tight.png
URL (V3)
Decoded: No decoded payload
long_url__C16_cylindrical_tight.png
Long URL (V6)
Decoded: No decoded payload
japanese__C16_cylindrical_tight.png
Japanese text (V5)
Decoded: No decoded payload
numeric__C16_cylindrical_tight.png
40 digits (V2)
Decoded: No decoded payload
vcard__C16_cylindrical_tight.png
vCard (V5)
Decoded: No decoded payload
wifi__C16_cylindrical_tight.png
WiFi (V3)
Decoded: No decoded payload
uuid__C16_cylindrical_tight.png
UUID (V3)
Decoded: No decoded payload
dense_300__C16_cylindrical_tight.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__C16_cylindrical_tight.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C16_cylindrical_tight.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C16_cylindrical_tight.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
wechat-qr 11 failed
url__C16_cylindrical_tight.png
URL (V3)
Decoded: No decoded payload
long_url__C16_cylindrical_tight.png
Long URL (V6)
Decoded: No decoded payload
japanese__C16_cylindrical_tight.png
Japanese text (V5)
Decoded: No decoded payload
numeric__C16_cylindrical_tight.png
40 digits (V2)
Decoded: No decoded payload
vcard__C16_cylindrical_tight.png
vCard (V5)
Decoded: No decoded payload
wifi__C16_cylindrical_tight.png
WiFi (V3)
Decoded: No decoded payload
uuid__C16_cylindrical_tight.png
UUID (V3)
Decoded: No decoded payload
dense_300__C16_cylindrical_tight.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__C16_cylindrical_tight.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C16_cylindrical_tight.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C16_cylindrical_tight.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
opencv-qr 12 failed
url__C16_cylindrical_tight.png
URL (V3)
Decoded: No decoded payload
long_url__C16_cylindrical_tight.png
Long URL (V6)
Decoded: No decoded payload
japanese__C16_cylindrical_tight.png
Japanese text (V5)
Decoded: No decoded payload
numeric__C16_cylindrical_tight.png
40 digits (V2)
Decoded: No decoded payload
short__C16_cylindrical_tight.png
OK (V1)
Decoded: No decoded payload
vcard__C16_cylindrical_tight.png
vCard (V5)
Decoded: No decoded payload
wifi__C16_cylindrical_tight.png
WiFi (V3)
Decoded: No decoded payload
uuid__C16_cylindrical_tight.png
UUID (V3)
Decoded: No decoded payload
dense_300__C16_cylindrical_tight.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__C16_cylindrical_tight.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C16_cylindrical_tight.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C16_cylindrical_tight.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
qore 5 failed
long_url__C16_cylindrical_tight.png
Long URL (V6)
Decoded: No decoded payload
dense_300__C16_cylindrical_tight.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__C16_cylindrical_tight.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C16_cylindrical_tight.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C16_cylindrical_tight.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
C17Rotation by 5° 12/12 12/12 7/12 12/12
opencv-qr 5 failed
vcard__C17_rotate_5.png
vCard (V5)
Decoded: No decoded payload
dense_300__C17_rotate_5.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__C17_rotate_5.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C17_rotate_5.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C17_rotate_5.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
C18Rotation by 15° 12/12 12/12 10/12 12/12
opencv-qr 2 failed
dense_1200__C18_rotate_15.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C18_rotate_15.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
C19Rotation by 45° 12/12 11/12 10/12 12/12
wechat-qr 1 failed
dense_600__C19_rotate_45.png
English text (572 chars) (V19)
Decoded: No decoded payload
opencv-qr 2 failed
dense_1200__C19_rotate_45.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C19_rotate_45.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
C20Rotation by 90° 12/12 12/12 9/12 12/12
opencv-qr 3 failed
short__C20_rotate_90.png
OK (V1)
Decoded: No decoded payload
dense_1200__C20_rotate_90.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C20_rotate_90.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
C21Rotation by 180° 12/12 12/12 8/12 12/12
opencv-qr 4 failed
numeric__C21_rotate_180.png
40 digits (V2)
Decoded: No decoded payload
dense_600__C21_rotate_180.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__C21_rotate_180.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__C21_rotate_180.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload

D. Capture conditions

ScenarioDescription zxing-cpp wechat-qr opencv-qr qore
D01Good phone capture 12/12 12/12 8/12 12/12
opencv-qr 4 failed
long_url__D01_phone_good.png
Long URL (V6)
Decoded: No decoded payload
short__D01_phone_good.png
OK (V1)
Decoded: No decoded payload
dense_1200__D01_phone_good.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__D01_phone_good.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
D02Moderate phone capture 12/12 12/12 0/12 12/12
opencv-qr 12 failed
url__D02_phone_medium.png
URL (V3)
Decoded: No decoded payload
long_url__D02_phone_medium.png
Long URL (V6)
Decoded: No decoded payload
japanese__D02_phone_medium.png
Japanese text (V5)
Decoded: No decoded payload
numeric__D02_phone_medium.png
40 digits (V2)
Decoded: No decoded payload
short__D02_phone_medium.png
OK (V1)
Decoded: No decoded payload
vcard__D02_phone_medium.png
vCard (V5)
Decoded: No decoded payload
wifi__D02_phone_medium.png
WiFi (V3)
Decoded: No decoded payload
uuid__D02_phone_medium.png
UUID (V3)
Decoded: No decoded payload
dense_300__D02_phone_medium.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__D02_phone_medium.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__D02_phone_medium.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__D02_phone_medium.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
D03Poor phone capture 12/12 12/12 0/12 12/12
opencv-qr 12 failed
url__D03_phone_bad.png
URL (V3)
Decoded: No decoded payload
long_url__D03_phone_bad.png
Long URL (V6)
Decoded: No decoded payload
japanese__D03_phone_bad.png
Japanese text (V5)
Decoded: No decoded payload
numeric__D03_phone_bad.png
40 digits (V2)
Decoded: No decoded payload
short__D03_phone_bad.png
OK (V1)
Decoded: No decoded payload
vcard__D03_phone_bad.png
vCard (V5)
Decoded: No decoded payload
wifi__D03_phone_bad.png
WiFi (V3)
Decoded: No decoded payload
uuid__D03_phone_bad.png
UUID (V3)
Decoded: No decoded payload
dense_300__D03_phone_bad.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__D03_phone_bad.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__D03_phone_bad.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__D03_phone_bad.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
D04Light motion blur 12/12 12/12 8/12 12/12
opencv-qr 4 failed
short__D04_motion_blur_light.png
OK (V1)
Decoded: No decoded payload
dense_300__D04_motion_blur_light.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_1200__D04_motion_blur_light.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__D04_motion_blur_light.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
D05Heavy motion blur 12/12 12/12 1/12 12/12
opencv-qr 11 failed
url__D05_motion_blur_heavy.png
URL (V3)
Decoded: No decoded payload
long_url__D05_motion_blur_heavy.png
Long URL (V6)
Decoded: No decoded payload
japanese__D05_motion_blur_heavy.png
Japanese text (V5)
Decoded: No decoded payload
numeric__D05_motion_blur_heavy.png
40 digits (V2)
Decoded: No decoded payload
short__D05_motion_blur_heavy.png
OK (V1)
Decoded: No decoded payload
vcard__D05_motion_blur_heavy.png
vCard (V5)
Decoded: No decoded payload
wifi__D05_motion_blur_heavy.png
WiFi (V3)
Decoded: No decoded payload
dense_300__D05_motion_blur_heavy.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__D05_motion_blur_heavy.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__D05_motion_blur_heavy.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__D05_motion_blur_heavy.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
D06JPEG Q15 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__D06_jpeg_q15.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__D06_jpeg_q15.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__D06_jpeg_q15.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
D07JPEG Q5 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__D07_jpeg_q5.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__D07_jpeg_q5.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__D07_jpeg_q5.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
D08Gaussian blur 12/12 12/12 7/12 12/12
opencv-qr 5 failed
long_url__D08_blur_gaussian.png
Long URL (V6)
Decoded: No decoded payload
short__D08_blur_gaussian.png
OK (V1)
Decoded: No decoded payload
dense_600__D08_blur_gaussian.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__D08_blur_gaussian.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__D08_blur_gaussian.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
D09Downscaled to 30% 12/12 12/12 0/12 12/12
opencv-qr 12 failed
url__D09_downscale_30pct.png
URL (V3)
Decoded: No decoded payload
long_url__D09_downscale_30pct.png
Long URL (V6)
Decoded: No decoded payload
japanese__D09_downscale_30pct.png
Japanese text (V5)
Decoded: No decoded payload
numeric__D09_downscale_30pct.png
40 digits (V2)
Decoded: No decoded payload
short__D09_downscale_30pct.png
OK (V1)
Decoded: No decoded payload
vcard__D09_downscale_30pct.png
vCard (V5)
Decoded: No decoded payload
wifi__D09_downscale_30pct.png
WiFi (V3)
Decoded: No decoded payload
uuid__D09_downscale_30pct.png
UUID (V3)
Decoded: No decoded payload
dense_300__D09_downscale_30pct.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__D09_downscale_30pct.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__D09_downscale_30pct.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__D09_downscale_30pct.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
D10Downscaled to 15% 0/12 11/12 0/12 4/12
zxing-cpp 12 failed
url__D10_downscale_15pct.png
URL (V3)
Decoded: No decoded payload
long_url__D10_downscale_15pct.png
Long URL (V6)
Decoded: No decoded payload
japanese__D10_downscale_15pct.png
Japanese text (V5)
Decoded: No decoded payload
numeric__D10_downscale_15pct.png
40 digits (V2)
Decoded: No decoded payload
short__D10_downscale_15pct.png
OK (V1)
Decoded: No decoded payload
vcard__D10_downscale_15pct.png
vCard (V5)
Decoded: No decoded payload
wifi__D10_downscale_15pct.png
WiFi (V3)
Decoded: No decoded payload
uuid__D10_downscale_15pct.png
UUID (V3)
Decoded: No decoded payload
dense_300__D10_downscale_15pct.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__D10_downscale_15pct.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__D10_downscale_15pct.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__D10_downscale_15pct.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
wechat-qr 1 failed
dense_1200__D10_downscale_15pct.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
opencv-qr 12 failed
url__D10_downscale_15pct.png
URL (V3)
Decoded: No decoded payload
long_url__D10_downscale_15pct.png
Long URL (V6)
Decoded: No decoded payload
japanese__D10_downscale_15pct.png
Japanese text (V5)
Decoded: No decoded payload
numeric__D10_downscale_15pct.png
40 digits (V2)
Decoded: No decoded payload
short__D10_downscale_15pct.png
OK (V1)
Decoded: No decoded payload
vcard__D10_downscale_15pct.png
vCard (V5)
Decoded: No decoded payload
wifi__D10_downscale_15pct.png
WiFi (V3)
Decoded: No decoded payload
uuid__D10_downscale_15pct.png
UUID (V3)
Decoded: No decoded payload
dense_300__D10_downscale_15pct.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__D10_downscale_15pct.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__D10_downscale_15pct.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__D10_downscale_15pct.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
qore 8 failed
long_url__D10_downscale_15pct.png
Long URL (V6)
Decoded: No decoded payload
japanese__D10_downscale_15pct.png
Japanese text (V5)
Decoded: 日本語テスト:QRコード読み取çŠãŠ™ã#³ãƒãƒ•ƒ...
numeric__D10_downscale_15pct.png
40 digits (V2)
Decoded: No decoded payload
short__D10_downscale_15pct.png
OK (V1)
Decoded: No decoded payload
dense_300__D10_downscale_15pct.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__D10_downscale_15pct.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__D10_downscale_15pct.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__D10_downscale_15pct.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload

E. Combined conditions

ScenarioDescription zxing-cpp wechat-qr opencv-qr qore
E01Desk and perspective 12/12 12/12 6/12 12/12
opencv-qr 6 failed
long_url__E01_desk_persp.png
Long URL (V6)
Decoded: No decoded payload
short__E01_desk_persp.png
OK (V1)
Decoded: No decoded payload
vcard__E01_desk_persp.png
vCard (V5)
Decoded: No decoded payload
dense_300__E01_desk_persp.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__E01_desk_persp.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__E01_desk_persp.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
E02Desk and top view 12/12 12/12 9/12 12/12
opencv-qr 3 failed
short__E02_desk_topdown.png
OK (V1)
Decoded: No decoded payload
dense_1200__E02_desk_topdown.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__E02_desk_topdown.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
E03Shadow and perspective 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__E03_shadow_persp.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__E03_shadow_persp.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__E03_shadow_persp.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
E04Paper texture and barrel distortion 12/12 9/12 9/12 12/12
wechat-qr 3 failed
dense_600__E04_texture_barrel.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__E04_texture_barrel.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__E04_texture_barrel.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
opencv-qr 3 failed
dense_600__E04_texture_barrel.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__E04_texture_barrel.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__E04_texture_barrel.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
E05Noise and perspective 12/12 12/12 9/12 12/12
opencv-qr 3 failed
vcard__E05_noise_persp.png
vCard (V5)
Decoded: No decoded payload
dense_1200__E05_noise_persp.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__E05_noise_persp.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
E06Phone capture and perspective 12/12 12/12 0/12 12/12
opencv-qr 12 failed
url__E06_phone_persp.png
URL (V3)
Decoded: No decoded payload
long_url__E06_phone_persp.png
Long URL (V6)
Decoded: No decoded payload
japanese__E06_phone_persp.png
Japanese text (V5)
Decoded: No decoded payload
numeric__E06_phone_persp.png
40 digits (V2)
Decoded: No decoded payload
short__E06_phone_persp.png
OK (V1)
Decoded: No decoded payload
vcard__E06_phone_persp.png
vCard (V5)
Decoded: No decoded payload
wifi__E06_phone_persp.png
WiFi (V3)
Decoded: No decoded payload
uuid__E06_phone_persp.png
UUID (V3)
Decoded: No decoded payload
dense_300__E06_phone_persp.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__E06_phone_persp.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__E06_phone_persp.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__E06_phone_persp.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
E07Shadow and wave distortion 12/12 12/12 0/12 12/12
opencv-qr 12 failed
url__E07_shadow_wave.png
URL (V3)
Decoded: No decoded payload
long_url__E07_shadow_wave.png
Long URL (V6)
Decoded: No decoded payload
japanese__E07_shadow_wave.png
Japanese text (V5)
Decoded: No decoded payload
numeric__E07_shadow_wave.png
40 digits (V2)
Decoded: No decoded payload
short__E07_shadow_wave.png
OK (V1)
Decoded: No decoded payload
vcard__E07_shadow_wave.png
vCard (V5)
Decoded: No decoded payload
wifi__E07_shadow_wave.png
WiFi (V3)
Decoded: No decoded payload
uuid__E07_shadow_wave.png
UUID (V3)
Decoded: No decoded payload
dense_300__E07_shadow_wave.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__E07_shadow_wave.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__E07_shadow_wave.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__E07_shadow_wave.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
E08Hard combined conditions 11/12 9/12 0/12 11/12
zxing-cpp 1 failed
dense_jp_500__E08_combined_hard.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
wechat-qr 3 failed
dense_600__E08_combined_hard.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__E08_combined_hard.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__E08_combined_hard.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
opencv-qr 12 failed
url__E08_combined_hard.png
URL (V3)
Decoded: No decoded payload
long_url__E08_combined_hard.png
Long URL (V6)
Decoded: No decoded payload
japanese__E08_combined_hard.png
Japanese text (V5)
Decoded: No decoded payload
numeric__E08_combined_hard.png
40 digits (V2)
Decoded: No decoded payload
short__E08_combined_hard.png
OK (V1)
Decoded: No decoded payload
vcard__E08_combined_hard.png
vCard (V5)
Decoded: No decoded payload
wifi__E08_combined_hard.png
WiFi (V3)
Decoded: No decoded payload
uuid__E08_combined_hard.png
UUID (V3)
Decoded: No decoded payload
dense_300__E08_combined_hard.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__E08_combined_hard.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__E08_combined_hard.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__E08_combined_hard.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
qore 1 failed
uuid__E08_combined_hard.png
UUID (V3)
Decoded: No decoded payload
E09Extreme combined conditions 12/12 9/12 0/12 12/12
wechat-qr 3 failed
short__E09_combined_extreme.png
OK (V1)
Decoded: No decoded payload
dense_1200__E09_combined_extreme.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__E09_combined_extreme.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
opencv-qr 12 failed
url__E09_combined_extreme.png
URL (V3)
Decoded: No decoded payload
long_url__E09_combined_extreme.png
Long URL (V6)
Decoded: No decoded payload
japanese__E09_combined_extreme.png
Japanese text (V5)
Decoded: No decoded payload
numeric__E09_combined_extreme.png
40 digits (V2)
Decoded: No decoded payload
short__E09_combined_extreme.png
OK (V1)
Decoded: No decoded payload
vcard__E09_combined_extreme.png
vCard (V5)
Decoded: No decoded payload
wifi__E09_combined_extreme.png
WiFi (V3)
Decoded: No decoded payload
uuid__E09_combined_extreme.png
UUID (V3)
Decoded: No decoded payload
dense_300__E09_combined_extreme.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__E09_combined_extreme.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__E09_combined_extreme.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__E09_combined_extreme.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
E10Cylinder, shadow, and desk 2/12 2/12 0/12 8/12
zxing-cpp 10 failed
url__E10_cylinder_shadow.png
URL (V3)
Decoded: No decoded payload
long_url__E10_cylinder_shadow.png
Long URL (V6)
Decoded: No decoded payload
japanese__E10_cylinder_shadow.png
Japanese text (V5)
Decoded: No decoded payload
vcard__E10_cylinder_shadow.png
vCard (V5)
Decoded: No decoded payload
wifi__E10_cylinder_shadow.png
WiFi (V3)
Decoded: No decoded payload
uuid__E10_cylinder_shadow.png
UUID (V3)
Decoded: No decoded payload
dense_300__E10_cylinder_shadow.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__E10_cylinder_shadow.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__E10_cylinder_shadow.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__E10_cylinder_shadow.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
wechat-qr 10 failed
url__E10_cylinder_shadow.png
URL (V3)
Decoded: No decoded payload
long_url__E10_cylinder_shadow.png
Long URL (V6)
Decoded: No decoded payload
japanese__E10_cylinder_shadow.png
Japanese text (V5)
Decoded: No decoded payload
vcard__E10_cylinder_shadow.png
vCard (V5)
Decoded: No decoded payload
wifi__E10_cylinder_shadow.png
WiFi (V3)
Decoded: No decoded payload
uuid__E10_cylinder_shadow.png
UUID (V3)
Decoded: No decoded payload
dense_300__E10_cylinder_shadow.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__E10_cylinder_shadow.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__E10_cylinder_shadow.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__E10_cylinder_shadow.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
opencv-qr 12 failed
url__E10_cylinder_shadow.png
URL (V3)
Decoded: No decoded payload
long_url__E10_cylinder_shadow.png
Long URL (V6)
Decoded: No decoded payload
japanese__E10_cylinder_shadow.png
Japanese text (V5)
Decoded: No decoded payload
numeric__E10_cylinder_shadow.png
40 digits (V2)
Decoded: No decoded payload
short__E10_cylinder_shadow.png
OK (V1)
Decoded: No decoded payload
vcard__E10_cylinder_shadow.png
vCard (V5)
Decoded: No decoded payload
wifi__E10_cylinder_shadow.png
WiFi (V3)
Decoded: No decoded payload
uuid__E10_cylinder_shadow.png
UUID (V3)
Decoded: No decoded payload
dense_300__E10_cylinder_shadow.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__E10_cylinder_shadow.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__E10_cylinder_shadow.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__E10_cylinder_shadow.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
qore 4 failed
dense_300__E10_cylinder_shadow.png
JSON (265 chars) (V12)
Decoded: No decoded payload
dense_600__E10_cylinder_shadow.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__E10_cylinder_shadow.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__E10_cylinder_shadow.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload

F. Multiple QR codes

ScenarioDescription zxing-cpp wechat-qr opencv-qr qore
F01Two QR codes 12/12 12/12 9/12 12/12
opencv-qr 3 failed
dense_600__F01_multi_two.png
English text (572 chars) (V19)
Decoded: https://example.com/second-qr-code
dense_1200__F01_multi_two.png
Event data (1113 chars) (V27)
Decoded: https://example.com/second-qr-code
dense_jp_500__F01_multi_two.png
Japanese text (261 chars) (V22)
Decoded: https://example.com/second-qr-code
F02Three QR codes 12/12 5/12 9/12 12/12
wechat-qr 7 failed
long_url__F02_multi_three.png
Long URL (V6)
Decoded: https://example.com/very/long/path?param1=value1&param2=v...
numeric__F02_multi_three.png
40 digits (V2)
Decoded: 0123456789012345678901234567890123456789
short__F02_multi_three.png
OK (V1)
Decoded: TEL:03-1234-5678
vcard__F02_multi_three.png
vCard (V5)
Decoded: BEGIN:VCARD VERSION:3.0 FN:Taro Yamada TEL:090-1234-5678 ...
dense_300__F02_multi_three.png
JSON (265 chars) (V12)
Decoded: {"id":12345,"name":"Benchmark Test Product","description"...
dense_1200__F02_multi_three.png
Event data (1113 chars) (V27)
Decoded: BEGIN:VEVENT DTSTART:20250401T090000Z DTEND:20250401T1700...
dense_jp_500__F02_multi_three.png
Japanese text (261 chars) (V22)
Decoded: 令和7年度第3回定例会議の議事録。出席者:山田太郎(議長)、佐藤花子、鈴木一郎、田中美咲、高橋健太、伊藤裕子、渡辺...
opencv-qr 3 failed
dense_600__F02_multi_three.png
English text (572 chars) (V19)
Decoded: mailto:info@example.com | TEL:03-1234-5678
dense_1200__F02_multi_three.png
Event data (1113 chars) (V27)
Decoded: TEL:03-1234-5678 | mailto:info@example.com
dense_jp_500__F02_multi_three.png
Japanese text (261 chars) (V22)
Decoded: TEL:03-1234-5678 | mailto:info@example.com
F03Mixed code sizes 12/12 0/12 9/12 12/12
wechat-qr 12 failed
url__F03_multi_sizes.png
URL (V3)
Decoded: https://example.com/product/12345
long_url__F03_multi_sizes.png
Long URL (V6)
Decoded: https://example.com/very/long/path?param1=value1&param2=v...
japanese__F03_multi_sizes.png
Japanese text (V5)
Decoded: 日本語テスト:QRコード読み取りベンチマーク2025
numeric__F03_multi_sizes.png
40 digits (V2)
Decoded: 0123456789012345678901234567890123456789
short__F03_multi_sizes.png
OK (V1)
Decoded: OK
vcard__F03_multi_sizes.png
vCard (V5)
Decoded: BEGIN:VCARD VERSION:3.0 FN:Taro Yamada TEL:090-1234-5678 ...
wifi__F03_multi_sizes.png
WiFi (V3)
Decoded: WIFI:T:WPA;S:MyNetwork;P:password123;;
uuid__F03_multi_sizes.png
UUID (V3)
Decoded: 550e8400-e29b-41d4-a716-446655440000
dense_300__F03_multi_sizes.png
JSON (265 chars) (V12)
Decoded: {"id":12345,"name":"Benchmark Test Product","description"...
dense_600__F03_multi_sizes.png
English text (572 chars) (V19)
Decoded: Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...
dense_1200__F03_multi_sizes.png
Event data (1113 chars) (V27)
Decoded: BEGIN:VEVENT DTSTART:20250401T090000Z DTEND:20250401T1700...
dense_jp_500__F03_multi_sizes.png
Japanese text (261 chars) (V22)
Decoded: 令和7年度第3回定例会議の議事録。出席者:山田太郎(議長)、佐藤花子、鈴木一郎、田中美咲、高橋健太、伊藤裕子、渡辺...
opencv-qr 3 failed
dense_600__F03_multi_sizes.png
English text (572 chars) (V19)
Decoded: ITEM-12345
dense_1200__F03_multi_sizes.png
Event data (1113 chars) (V27)
Decoded: ITEM-12345
dense_jp_500__F03_multi_sizes.png
Japanese text (261 chars) (V22)
Decoded: ITEM-12345
F04Multiple codes, desk, and perspective 12/12 9/12 1/12 12/12
wechat-qr 3 failed
numeric__F04_multi_desk_persp.png
40 digits (V2)
Decoded: 0123456789012345678901234567890123456789
wifi__F04_multi_desk_persp.png
WiFi (V3)
Decoded: WIFI:T:WPA;S:MyNetwork;P:password123;;
dense_1200__F04_multi_desk_persp.png
Event data (1113 chars) (V27)
Decoded: BEGIN:VEVENT DTSTART:20250401T090000Z DTEND:20250401T1700...
opencv-qr 11 failed
url__F04_multi_desk_persp.png
URL (V3)
Decoded: SCAN-ID:20250309-001
long_url__F04_multi_desk_persp.png
Long URL (V6)
Decoded: https://example.com/very/long/path?param1=value1&param2=v...
japanese__F04_multi_desk_persp.png
Japanese text (V5)
Decoded: SCAN-ID:20250309-001
numeric__F04_multi_desk_persp.png
40 digits (V2)
Decoded: No decoded payload
short__F04_multi_desk_persp.png
OK (V1)
Decoded: SCAN-ID:20250309-001
vcard__F04_multi_desk_persp.png
vCard (V5)
Decoded: No decoded payload
wifi__F04_multi_desk_persp.png
WiFi (V3)
Decoded: WIFI:T:WPA;S:MyNetwork;P:password123;;
uuid__F04_multi_desk_persp.png
UUID (V3)
Decoded: 550e8400-e29b-41d4-a716-446655440000
dense_300__F04_multi_desk_persp.png
JSON (265 chars) (V12)
Decoded: {"id":12345,"name":"Benchmark Test Product","description"...
dense_1200__F04_multi_desk_persp.png
Event data (1113 chars) (V27)
Decoded: No decoded payload
dense_jp_500__F04_multi_desk_persp.png
Japanese text (261 chars) (V22)
Decoded: No decoded payload
F05Multiple codes and strong perspective 12/12 7/12 0/12 12/12
wechat-qr 5 failed
numeric__F05_multi_persp_strong.png
40 digits (V2)
Decoded: 0123456789012345678901234567890123456789
wifi__F05_multi_persp_strong.png
WiFi (V3)
Decoded: WIFI:T:WPA;S:MyNetwork;P:password123;;
dense_300__F05_multi_persp_strong.png
JSON (265 chars) (V12)
Decoded: {"id":12345,"name":"Benchmark Test Product","description"...
dense_600__F05_multi_persp_strong.png
English text (572 chars) (V19)
Decoded: No decoded payload
dense_1200__F05_multi_persp_strong.png
Event data (1113 chars) (V27)
Decoded: BEGIN:VEVENT DTSTART:20250401T090000Z DTEND:20250401T1700...
opencv-qr 12 failed
url__F05_multi_persp_strong.png
URL (V3)
Decoded: REF:ABC-789
long_url__F05_multi_persp_strong.png
Long URL (V6)
Decoded: REF:ABC-789
japanese__F05_multi_persp_strong.png
Japanese text (V5)
Decoded: REF:ABC-789
numeric__F05_multi_persp_strong.png
40 digits (V2)
Decoded: REF:ABC-789
short__F05_multi_persp_strong.png
OK (V1)
Decoded: No decoded payload
vcard__F05_multi_persp_strong.png
vCard (V5)
Decoded: REF:ABC-789
wifi__F05_multi_persp_strong.png
WiFi (V3)
Decoded: REF:ABC-789
uuid__F05_multi_persp_strong.png
UUID (V3)
Decoded: REF:ABC-789
dense_300__F05_multi_persp_strong.png
JSON (265 chars) (V12)
Decoded: REF:ABC-789
dense_600__F05_multi_persp_strong.png
English text (572 chars) (V19)
Decoded: REF:ABC-789
dense_1200__F05_multi_persp_strong.png
Event data (1113 chars) (V27)
Decoded: REF:ABC-789
dense_jp_500__F05_multi_persp_strong.png
Japanese text (261 chars) (V22)
Decoded: REF:ABC-789

Pass counts by payload type

Short payloads

PayloadCharactersVer. zxing-cpp wechat-qr opencv-qr qore
Japanese text26V5 61/65 60/65 47/65 64/65
Long URL92V6 61/65 59/65 44/65 62/65
40 digits40V2 62/65 58/65 44/65 64/65
OK2V1 64/65 57/65 39/65 64/65
URL33V3 61/65 60/65 45/65 65/65
UUID36V3 61/65 59/65 47/65 63/65
vCard66V5 61/65 60/65 40/65 65/65
WiFi38V3 61/65 58/65 46/65 65/65

Long payloads

PayloadCharactersVer. zxing-cpp wechat-qr opencv-qr qore
Event data (1113 chars)1113V27 59/65 48/65 0/65 59/65
JSON (265 chars)265V12 60/65 59/65 41/65 61/65
English text (572 chars)572V19 61/65 53/65 11/65 61/65
Japanese text (261 chars)261V22 60/65 51/65 3/65 61/65