CARVIEW |
Select Language
HTTP/2 200
date: Mon, 21 Jul 2025 20:13:05 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-repository-download: git clone https://github.com/opencv/opencv.git
etag: W/"a93a03589c12d3130b1b2af8a06cc36f"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=rfiliBxCjoKd2IfC6omb8lARSpYIW6mPKQC5zu2HpiE4Xdq5fl%2Fdh5dSeXmVzdDUK1rK0Ngq1dUqi8slRSRoU3M%2BfKIAuDFz%2BN0wjQ54xrypodKS2G4s0OreNnbAaPGBwkUyo%2BRsBnn1w8sD6iqlTIgoZfr63DFbwh7mftV7AW1kHP8U2u0s5QuGi532Ev04X0mt9FrJSx6kSuvKwx5ZwJ6QhgqS7mvuQrJn9ZHT9HmE7fvc4ssU9i1dGYU0SMLlHsRdIDzS4yF6ICTSIuPxJw%3D%3D--Y9k0cR4iZESseFNs--pSmsCxKV8%2F%2BXvfNos7FfQw%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1205176584.1753128784; Path=/; Domain=github.com; Expires=Tue, 21 Jul 2026 20:13:04 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Tue, 21 Jul 2026 20:13:04 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: A7D2:F27D1:E85D:14248:687E9F50
Merge pull request #24299 from dkurt:qrcode_decode · opencv/opencv@d296d29 · GitHub
Copy file name to clipboardExpand all lines: modules/objdetect/perf/perf_qrcode_pipeline.cpp
Copy file name to clipboardExpand all lines: modules/objdetect/src/graphical_code_detector_impl.hpp
Copy file name to clipboardExpand all lines: modules/objdetect/src/qrcode.cpp
Skip to content
Navigation Menu
{{ message }}
-
-
Notifications
You must be signed in to change notification settings - Fork 56.2k
Commit d296d29
authored
Merge pull request #24299 from dkurt:qrcode_decode
In-house QR codes decoding #24299
### Pull Request Readiness Checklist
QR codes decoding pipeline without 3rdparty dependency (Quirc library). Implemented according to standard https://github.com/yansikeim/QR-Code/blob/master/ISO%20IEC%2018004%202015%20Standard.pdf
**Merge with extra**: opencv/opencv_extra#1124
resolves #24225
resolves #17290
resolves #24318 #24346
Resources:
* https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders
* https://en.wikipedia.org/wiki/Berlekamp%E2%80%93Massey_algorithm
```
Geometric mean (ms)
Name of Test quirc new2 new2
vs
quirc
(x-factor)
decode::Perf_Objdetect_Not_QRCode::("chessboard", 640x480) 9.151 9.157 1.00
decode::Perf_Objdetect_Not_QRCode::("chessboard", 1280x720) 21.609 21.609 1.00
decode::Perf_Objdetect_Not_QRCode::("chessboard", 1920x1080) 42.088 41.924 1.00
decode::Perf_Objdetect_Not_QRCode::("chessboard", 3840x2160) 169.737 169.050 1.00
decode::Perf_Objdetect_Not_QRCode::("random", 640x480) 8.552 8.611 0.99
decode::Perf_Objdetect_Not_QRCode::("random", 1280x720) 21.264 21.581 0.99
decode::Perf_Objdetect_Not_QRCode::("random", 1920x1080) 42.415 43.468 0.98
decode::Perf_Objdetect_Not_QRCode::("random", 3840x2160) 175.003 174.294 1.00
decode::Perf_Objdetect_Not_QRCode::("zero", 640x480) 8.528 8.421 1.01
decode::Perf_Objdetect_Not_QRCode::("zero", 1280x720) 21.548 21.209 1.02
decode::Perf_Objdetect_Not_QRCode::("zero", 1920x1080) 42.581 42.529 1.00
decode::Perf_Objdetect_Not_QRCode::("zero", 3840x2160) 176.231 174.410 1.01
decode::Perf_Objdetect_QRCode::"kanji.jpg" 6.105 6.072 1.01
decode::Perf_Objdetect_QRCode::"link_github_ocv.jpg" 6.069 6.076 1.00
decode::Perf_Objdetect_QRCode::"link_ocv.jpg" 6.143 6.240 0.98
decode::Perf_Objdetect_QRCode::"link_wiki_cv.jpg" 6.369 6.420 0.99
decode::Perf_Objdetect_QRCode::"russian.jpg" 6.558 6.549 1.00
decode::Perf_Objdetect_QRCode::"version_1_down.jpg" 5.634 5.621 1.00
decode::Perf_Objdetect_QRCode::"version_1_left.jpg" 5.560 5.609 0.99
decode::Perf_Objdetect_QRCode::"version_1_right.jpg" 5.539 5.631 0.98
decode::Perf_Objdetect_QRCode::"version_1_top.jpg" 5.622 5.566 1.01
decode::Perf_Objdetect_QRCode::"version_1_up.jpg" 5.569 5.534 1.01
decode::Perf_Objdetect_QRCode::"version_5_down.jpg" 6.514 6.436 1.01
decode::Perf_Objdetect_QRCode::"version_5_left.jpg" 6.668 6.479 1.03
decode::Perf_Objdetect_QRCode::"version_5_top.jpg" 6.481 6.484 1.00
decode::Perf_Objdetect_QRCode::"version_5_up.jpg" 7.011 6.513 1.08
decodeMulti::Perf_Objdetect_QRCode_Multi::("2_qrcodes.png", "aruco_based") 14.885 15.089 0.99
decodeMulti::Perf_Objdetect_QRCode_Multi::("2_qrcodes.png", "contours_based") 14.896 14.906 1.00
decodeMulti::Perf_Objdetect_QRCode_Multi::("3_close_qrcodes.png", "aruco_based") 6.661 6.663 1.00
decodeMulti::Perf_Objdetect_QRCode_Multi::("3_close_qrcodes.png", "contours_based") 6.614 6.592 1.00
decodeMulti::Perf_Objdetect_QRCode_Multi::("3_qrcodes.png", "aruco_based") 14.814 14.592 1.02
decodeMulti::Perf_Objdetect_QRCode_Multi::("3_qrcodes.png", "contours_based") 15.245 15.135 1.01
decodeMulti::Perf_Objdetect_QRCode_Multi::("4_qrcodes.png", "aruco_based") 10.923 10.881 1.00
decodeMulti::Perf_Objdetect_QRCode_Multi::("4_qrcodes.png", "contours_based") 10.680 10.128 1.05
decodeMulti::Perf_Objdetect_QRCode_Multi::("5_qrcodes.png", "contours_based") 11.788 11.576 1.02
decodeMulti::Perf_Objdetect_QRCode_Multi::("6_qrcodes.png", "aruco_based") 25.887 25.979 1.00
decodeMulti::Perf_Objdetect_QRCode_Multi::("6_qrcodes.png", "contours_based") 26.183 25.627 1.02
decodeMulti::Perf_Objdetect_QRCode_Multi::("7_qrcodes.png", "aruco_based") 32.786 32.253 1.02
decodeMulti::Perf_Objdetect_QRCode_Multi::("7_qrcodes.png", "contours_based") 24.290 24.435 0.99
decodeMulti::Perf_Objdetect_QRCode_Multi::("8_close_qrcodes.png", "aruco_based") 89.696 89.247 1.01
decodeMulti::Perf_Objdetect_QRCode_Multi::("8_close_qrcodes.png", "contours_based") 89.872 89.600 1.00
```1 parent 332748d commit d296d29Copy full SHA for d296d29
File tree
Expand file treeCollapse file tree
10 files changed
+656
-151
lines changedFilter options
- modules/objdetect
- perf
- src
- test
- platforms/js
Expand file treeCollapse file tree
10 files changed
+656
-151
lines changed+1-1Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
456 | 456 |
| |
457 | 457 |
| |
458 | 458 |
| |
459 |
| - | |
| 459 | + | |
460 | 460 |
| |
461 | 461 |
| |
462 | 462 |
| |
|
modules/objdetect/perf/perf_qrcode_pipeline.cpp
Copy file name to clipboardExpand all lines: modules/objdetect/perf/perf_qrcode_pipeline.cpp-6Lines changed: 0 additions & 6 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
29 | 29 |
| |
30 | 30 |
| |
31 | 31 |
| |
32 |
| - | |
33 | 32 |
| |
34 | 33 |
| |
35 | 34 |
| |
| |||
52 | 51 |
| |
53 | 52 |
| |
54 | 53 |
| |
55 |
| - | |
56 | 54 |
| |
57 | 55 |
| |
58 | 56 |
| |
| |||
78 | 76 |
| |
79 | 77 |
| |
80 | 78 |
| |
81 |
| - | |
82 | 79 |
| |
83 | 80 |
| |
84 | 81 |
| |
| |||
116 | 113 |
| |
117 | 114 |
| |
118 | 115 |
| |
119 |
| - | |
120 | 116 |
| |
121 | 117 |
| |
122 | 118 |
| |
| |||
163 | 159 |
| |
164 | 160 |
| |
165 | 161 |
| |
166 |
| - | |
167 | 162 |
| |
168 | 163 |
| |
169 | 164 |
| |
| |||
195 | 190 |
| |
196 | 191 |
| |
197 | 192 |
| |
198 |
| - | |
199 | 193 |
| |
200 | 194 |
| |
201 | 195 |
| |
|
modules/objdetect/src/graphical_code_detector_impl.hpp
Copy file name to clipboardExpand all lines: modules/objdetect/src/graphical_code_detector_impl.hpp+13-1Lines changed: 13 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
20 | 20 |
| |
21 | 21 |
| |
22 | 22 |
| |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
23 | 35 |
| |
24 | 36 |
| |
25 |
| - | |
| 37 | + |
modules/objdetect/src/qrcode.cpp
Copy file name to clipboardExpand all lines: modules/objdetect/src/qrcode.cpp+45-37Lines changed: 45 additions & 37 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2727 | 2727 |
| |
2728 | 2728 |
| |
2729 | 2729 |
| |
2730 |
| - | |
2731 | 2730 |
| |
2732 | 2731 |
| |
2733 | 2732 |
| |
| |||
2781 | 2780 |
| |
2782 | 2781 |
| |
2783 | 2782 |
| |
| 2783 | + | |
| 2784 | + | |
| 2785 | + | |
| 2786 | + | |
2784 | 2787 |
| |
2785 | 2788 |
| |
2786 | 2789 |
| |
| |||
2810 | 2813 |
| |
2811 | 2814 |
| |
2812 | 2815 |
| |
2813 |
| - | |
| 2816 | + | |
| 2817 | + | |
| 2818 | + | |
| 2819 | + | |
| 2820 | + | |
| 2821 | + | |
| 2822 | + | |
| 2823 | + | |
| 2824 | + | |
| 2825 | + | |
| 2826 | + | |
| 2827 | + | |
| 2828 | + | |
| 2829 | + | |
| 2830 | + | |
| 2831 | + | |
2814 | 2832 |
| |
2815 |
| - | |
2816 |
| - | |
| 2833 | + | |
| 2834 | + | |
2817 | 2835 |
| |
2818 | 2836 |
| |
2819 | 2837 |
| |
2820 |
| - | |
| 2838 | + | |
2821 | 2839 |
| |
2822 |
| - | |
2823 |
| - | |
| 2840 | + | |
| 2841 | + | |
2824 | 2842 |
| |
2825 | 2843 |
| |
2826 | 2844 |
| |
2827 |
| - | |
| 2845 | + | |
2828 | 2846 |
| |
2829 |
| - | |
| 2847 | + | |
2830 | 2848 |
| |
2831 |
| - | |
| 2849 | + | |
2832 | 2850 |
| |
2833 |
| - | |
| 2851 | + | |
2834 | 2852 |
| |
2835 | 2853 |
| |
2836 | 2854 |
| |
2837 |
| - | |
2838 |
| - | |
| 2855 | + | |
| 2856 | + | |
2839 | 2857 |
| |
2840 | 2858 |
| |
2841 |
| - | |
| 2859 | + | |
2842 | 2860 |
| |
2843 |
| - | |
| 2861 | + | |
2844 | 2862 |
| |
2845 |
| - | |
| 2863 | + | |
2846 | 2864 |
| |
2847 |
| - | |
| 2865 | + | |
2848 | 2866 |
| |
2849 | 2867 |
| |
2850 |
| - | |
| 2868 | + | |
2851 | 2869 |
| |
2852 | 2870 |
| |
2853 | 2871 |
| |
2854 |
| - | |
| 2872 | + | |
2855 | 2873 |
| |
2856 | 2874 |
| |
2857 |
| - | |
| 2875 | + | |
| 2876 | + | |
| 2877 | + | |
| 2878 | + | |
| 2879 | + | |
2858 | 2880 |
| |
| 2881 | + | |
| 2882 | + | |
| 2883 | + | |
2859 | 2884 |
| |
2860 |
| - | |
2861 |
| - | |
2862 |
| - | |
2863 |
| - | |
2864 |
| - | |
2865 |
| - | |
2866 |
| - | |
2867 | 2885 |
| |
2868 | 2886 |
| |
2869 | 2887 |
| |
2870 | 2888 |
| |
2871 |
| - | |
2872 | 2889 |
| |
2873 | 2890 |
| |
2874 | 2891 |
| |
2875 | 2892 |
| |
2876 | 2893 |
| |
2877 | 2894 |
| |
2878 | 2895 |
| |
2879 |
| - | |
2880 |
| - | |
2881 |
| - | |
2882 |
| - | |
2883 | 2896 |
| |
2884 | 2897 |
| |
2885 | 2898 |
| |
2886 | 2899 |
| |
2887 |
| - | |
2888 | 2900 |
| |
2889 | 2901 |
| |
2890 | 2902 |
| |
2891 | 2903 |
| |
2892 | 2904 |
| |
2893 |
| - | |
2894 |
| - | |
2895 |
| - | |
2896 |
| - | |
2897 | 2905 |
| |
2898 | 2906 |
| |
2899 | 2907 |
| |
|
You can’t perform that action at this time.
0 commit comments