├── LICENSE.md ├── Legal.txt ├── README.md ├── Samples ├── ReadDPM.json ├── general_settings.py ├── multi_format_image_processing.py ├── read_an_image.py ├── read_dpm_barcode.py ├── read_multiple_images.py └── video_decoding.py └── images ├── AllSupportedBarcodeTypes.png ├── BarcodeColorMode.png ├── BarcodeOrientation.png ├── BarcodeSizeAndModuleSize.png ├── BlurPhoto.jpg ├── Code 128.png ├── Code 39.png ├── Code 93.png ├── DPM.png ├── DamagedBarcodes.tif ├── DataMatrix.tif ├── EAN-13.jpg ├── EAN-8.jpg ├── GS1 DataBar.png ├── GeneralBarcodes.png ├── Interleaved 2of 5.png ├── MultiPage.pdf ├── PDF417.png ├── PatchCode.png ├── Pharmacode.png ├── PostalCode.png ├── QRCode.tif ├── QRCode_Variant_Size_Rotate.tif ├── UPC-A.jpg ├── UPC-E.jpg ├── codabar.jpg ├── dpm.jpg └── industrial 2 of 5.gif /LICENSE.md: -------------------------------------------------------------------------------- 1 | License Notice 2 | 3 | This folder contains code samples ("Sample Code") for use with Dynamsoft Barcode Reader, a commercial software development kit licensed by Dynamsoft. The Sample Code may be modified and included in your end user software under the terms of the Dynamsoft Software License Agreement https://www.dynamsoft.com/company/license-agreement/ ("Commercial License"). Except as expressly stated in the Commercial License, no other rights are granted in the Sample Code. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 4 | 5 | Copyright © 2003–2025 Dynamsoft. All rights reserved. -------------------------------------------------------------------------------- /Legal.txt: -------------------------------------------------------------------------------- 1 | Legal Notices: 2 | 3 | This SDK contains parts of following softwares which are used under license. 4 | 5 | =================================================================================== 6 | Zlib. 7 | 8 | Copyright notice: 9 | 10 | (C) 1995-2022 Jean-loup Gailly and Mark Adler 11 | 12 | This software is provided 'as-is', without any express or implied 13 | warranty. In no event will the authors be held liable for any damages 14 | arising from the use of this software. 15 | 16 | Permission is granted to anyone to use this software for any purpose, 17 | including commercial applications, and to alter it and redistribute it 18 | freely, subject to the following restrictions: 19 | 20 | 1. The origin of this software must not be misrepresented; you must not 21 | claim that you wrote the original software. If you use this software 22 | in a product, an acknowledgment in the product documentation would be 23 | appreciated but is not required. 24 | 2. Altered source versions must be plainly marked as such, and must not be 25 | misrepresented as being the original software. 26 | 3. This notice may not be removed or altered from any source distribution. 27 | 28 | Jean-loup Gailly Mark Adler 29 | jloup@gzip.org madler@alumni.caltech.edu 30 | 31 | =================================================================================== 32 | 33 | 34 | 35 | =================================================================================== 36 | LibTiff 37 | 38 | Copyright (c) 1988-1997 Sam Leffler 39 | Copyright (c) 1991-1997 Silicon Graphics, Inc. 40 | 41 | Permission to use, copy, modify, distribute, and sell this software and 42 | its documentation for any purpose is hereby granted without fee, provided 43 | that (i) the above copyright notices and this permission notice appear in 44 | all copies of the software and related documentation, and (ii) the names of 45 | Sam Leffler and Silicon Graphics may not be used in any advertising or 46 | publicity relating to the software without the specific, prior written 47 | permission of Sam Leffler and Silicon Graphics. 48 | 49 | THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 50 | EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 51 | WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 52 | 53 | IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR 54 | ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY 55 | KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA 56 | OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, 57 | AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION 58 | WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 59 | =================================================================================== 60 | 61 | 62 | 63 | =================================================================================== 64 | LibJPEG 65 | 66 | In plain English: 67 | 68 | 1. We don't promise that this software works. (But if you find any bugs, 69 | please let us know!) 70 | 2. You can use this software for whatever you want. You don't have to pay us. 71 | 3. You may not pretend that you wrote this software. If you use it in a 72 | program, you must acknowledge somewhere in your documentation that 73 | you've used the IJG code. 74 | 75 | In legalese: 76 | 77 | The authors make NO WARRANTY or representation, either express or implied, 78 | with respect to this software, its quality, accuracy, merchantability, or 79 | fitness for a particular purpose. This software is provided "AS IS", and you, 80 | its user, assume the entire risk as to its quality and accuracy. 81 | 82 | This software is copyright (C) 1991-2024, Thomas G. Lane, Guido Vollbeding. 83 | All Rights Reserved except as specified below. 84 | 85 | Permission is hereby granted to use, copy, modify, and distribute this 86 | software (or portions thereof) for any purpose, without fee, subject to these 87 | conditions: 88 | (1) If any part of the source code for this software is distributed, then this 89 | README file must be included, with this copyright and no-warranty notice 90 | unaltered; and any additions, deletions, or changes to the original files 91 | must be clearly indicated in accompanying documentation. 92 | (2) If only executable code is distributed, then the accompanying 93 | documentation must state that "this software is based in part on the work of 94 | the Independent JPEG Group". 95 | (3) Permission for use of this software is granted only if the user accepts 96 | full responsibility for any undesirable consequences; the authors accept 97 | NO LIABILITY for damages of any kind. 98 | 99 | These conditions apply to any software derived from or based on the IJG code, 100 | not just to the unmodified library. If you use our work, you ought to 101 | acknowledge us. 102 | 103 | Permission is NOT granted for the use of any IJG author's name or company name 104 | in advertising or publicity relating to this software or products derived from 105 | it. This software may be referred to only as "the Independent JPEG Group's 106 | software". 107 | 108 | We specifically permit and encourage the use of this software as the basis of 109 | commercial products, provided that all warranty or liability claims are 110 | assumed by the product vendor. 111 | 112 | 113 | The Unix configuration script "configure" was produced with GNU Autoconf. 114 | It is copyright by the Free Software Foundation but is freely distributable. 115 | The same holds for its supporting scripts (config.guess, config.sub, 116 | ltmain.sh). Another support script, install-sh, is copyright by X Consortium 117 | but is also freely distributable. 118 | 119 | =================================================================================== 120 | 121 | 122 | 123 | =================================================================================== 124 | LibPNG 125 | 126 | 127 | COPYRIGHT NOTICE, DISCLAIMER, and LICENSE 128 | ========================================= 129 | 130 | PNG Reference Library License version 2 131 | --------------------------------------- 132 | 133 | * Copyright (c) 1995-2023 The PNG Reference Library Authors. 134 | * Copyright (c) 2018-2023 Cosmin Truta. 135 | * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. 136 | * Copyright (c) 1996-1997 Andreas Dilger. 137 | * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. 138 | 139 | The software is supplied "as is", without warranty of any kind, 140 | express or implied, including, without limitation, the warranties 141 | of merchantability, fitness for a particular purpose, title, and 142 | non-infringement. In no event shall the Copyright owners, or 143 | anyone distributing the software, be liable for any damages or 144 | other liability, whether in contract, tort or otherwise, arising 145 | from, out of, or in connection with the software, or the use or 146 | other dealings in the software, even if advised of the possibility 147 | of such damage. 148 | 149 | Permission is hereby granted to use, copy, modify, and distribute 150 | this software, or portions hereof, for any purpose, without fee, 151 | subject to the following restrictions: 152 | 153 | 1. The origin of this software must not be misrepresented; you 154 | must not claim that you wrote the original software. If you 155 | use this software in a product, an acknowledgment in the product 156 | documentation would be appreciated, but is not required. 157 | 158 | 2. Altered source versions must be plainly marked as such, and must 159 | not be misrepresented as being the original software. 160 | 161 | 3. This Copyright notice may not be removed or altered from any 162 | source or altered source distribution. 163 | 164 | 165 | PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) 166 | ----------------------------------------------------------------------- 167 | 168 | libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are 169 | Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are 170 | derived from libpng-1.0.6, and are distributed according to the same 171 | disclaimer and license as libpng-1.0.6 with the following individuals 172 | added to the list of Contributing Authors: 173 | 174 | Simon-Pierre Cadieux 175 | Eric S. Raymond 176 | Mans Rullgard 177 | Cosmin Truta 178 | Gilles Vollant 179 | James Yu 180 | Mandar Sahastrabuddhe 181 | Google Inc. 182 | Vadim Barkov 183 | 184 | and with the following additions to the disclaimer: 185 | 186 | There is no warranty against interference with your enjoyment of 187 | the library or against infringement. There is no warranty that our 188 | efforts or the library will fulfill any of your particular purposes 189 | or needs. This library is provided with all faults, and the entire 190 | risk of satisfactory quality, performance, accuracy, and effort is 191 | with the user. 192 | 193 | Some files in the "contrib" directory and some configure-generated 194 | files that are distributed with libpng have other copyright owners, and 195 | are released under other open source licenses. 196 | 197 | libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are 198 | Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from 199 | libpng-0.96, and are distributed according to the same disclaimer and 200 | license as libpng-0.96, with the following individuals added to the 201 | list of Contributing Authors: 202 | 203 | Tom Lane 204 | Glenn Randers-Pehrson 205 | Willem van Schaik 206 | 207 | libpng versions 0.89, June 1996, through 0.96, May 1997, are 208 | Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, 209 | and are distributed according to the same disclaimer and license as 210 | libpng-0.88, with the following individuals added to the list of 211 | Contributing Authors: 212 | 213 | John Bowler 214 | Kevin Bracey 215 | Sam Bushell 216 | Magnus Holmgren 217 | Greg Roelofs 218 | Tom Tanner 219 | 220 | Some files in the "scripts" directory have other copyright owners, 221 | but are released under this license. 222 | 223 | libpng versions 0.5, May 1995, through 0.88, January 1996, are 224 | Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. 225 | 226 | For the purposes of this copyright and license, "Contributing Authors" 227 | is defined as the following set of individuals: 228 | 229 | Andreas Dilger 230 | Dave Martindale 231 | Guy Eric Schalnat 232 | Paul Schmidt 233 | Tim Wegner 234 | 235 | The PNG Reference Library is supplied "AS IS". The Contributing 236 | Authors and Group 42, Inc. disclaim all warranties, expressed or 237 | implied, including, without limitation, the warranties of 238 | merchantability and of fitness for any purpose. The Contributing 239 | Authors and Group 42, Inc. assume no liability for direct, indirect, 240 | incidental, special, exemplary, or consequential damages, which may 241 | result from the use of the PNG Reference Library, even if advised of 242 | the possibility of such damage. 243 | 244 | Permission is hereby granted to use, copy, modify, and distribute this 245 | source code, or portions hereof, for any purpose, without fee, subject 246 | to the following restrictions: 247 | 248 | 1. The origin of this source code must not be misrepresented. 249 | 250 | 2. Altered versions must be plainly marked as such and must not 251 | be misrepresented as being the original source. 252 | 253 | 3. This Copyright notice may not be removed or altered from any 254 | source or altered source distribution. 255 | 256 | The Contributing Authors and Group 42, Inc. specifically permit, 257 | without fee, and encourage the use of this source code as a component 258 | to supporting the PNG file format in commercial products. If you use 259 | this source code in a product, acknowledgment is not required but would 260 | be appreciated. 261 | =================================================================================== 262 | 263 | 264 | 265 | =================================================================================== 266 | Giflib 267 | 268 | The GIFLIB distribution is Copyright (c) 1997 Eric S. Raymond 269 | 270 | Permission is hereby granted, free of charge, to any person obtaining a copy 271 | of this software and associated documentation files (the "Software"), to deal 272 | in the Software without restriction, including without limitation the rights 273 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 274 | copies of the Software, and to permit persons to whom the Software is 275 | furnished to do so, subject to the following conditions: 276 | 277 | The above copyright notice and this permission notice shall be included in 278 | all copies or substantial portions of the Software. 279 | 280 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 281 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 282 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 283 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 284 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 285 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 286 | THE SOFTWARE. 287 | =================================================================================== 288 | 289 | 290 | 291 | =================================================================================== 292 | Google's open-source ZXing ("Zebra Crossing") 293 | 294 | Apache License 295 | Version 2.0, January 2004 296 | http://www.apache.org/licenses/ 297 | 298 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 299 | 300 | 1. Definitions. 301 | 302 | "License" shall mean the terms and conditions for use, reproduction, 303 | and distribution as defined by Sections 1 through 9 of this document. 304 | 305 | "Licensor" shall mean the copyright owner or entity authorized by 306 | the copyright owner that is granting the License. 307 | 308 | "Legal Entity" shall mean the union of the acting entity and all 309 | other entities that control, are controlled by, or are under common 310 | control with that entity. For the purposes of this definition, 311 | "control" means (i) the power, direct or indirect, to cause the 312 | direction or management of such entity, whether by contract or 313 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 314 | outstanding shares, or (iii) beneficial ownership of such entity. 315 | 316 | "You" (or "Your") shall mean an individual or Legal Entity 317 | exercising permissions granted by this License. 318 | 319 | "Source" form shall mean the preferred form for making modifications, 320 | including but not limited to software source code, documentation 321 | source, and configuration files. 322 | 323 | "Object" form shall mean any form resulting from mechanical 324 | transformation or translation of a Source form, including but 325 | not limited to compiled object code, generated documentation, 326 | and conversions to other media types. 327 | 328 | "Work" shall mean the work of authorship, whether in Source or 329 | Object form, made available under the License, as indicated by a 330 | copyright notice that is included in or attached to the work 331 | (an example is provided in the Appendix below). 332 | 333 | "Derivative Works" shall mean any work, whether in Source or Object 334 | form, that is based on (or derived from) the Work and for which the 335 | editorial revisions, annotations, elaborations, or other modifications 336 | represent, as a whole, an original work of authorship. For the purposes 337 | of this License, Derivative Works shall not include works that remain 338 | separable from, or merely link (or bind by name) to the interfaces of, 339 | the Work and Derivative Works thereof. 340 | 341 | "Contribution" shall mean any work of authorship, including 342 | the original version of the Work and any modifications or additions 343 | to that Work or Derivative Works thereof, that is intentionally 344 | submitted to Licensor for inclusion in the Work by the copyright owner 345 | or by an individual or Legal Entity authorized to submit on behalf of 346 | the copyright owner. For the purposes of this definition, "submitted" 347 | means any form of electronic, verbal, or written communication sent 348 | to the Licensor or its representatives, including but not limited to 349 | communication on electronic mailing lists, source code control systems, 350 | and issue tracking systems that are managed by, or on behalf of, the 351 | Licensor for the purpose of discussing and improving the Work, but 352 | excluding communication that is conspicuously marked or otherwise 353 | designated in writing by the copyright owner as "Not a Contribution." 354 | 355 | "Contributor" shall mean Licensor and any individual or Legal Entity 356 | on behalf of whom a Contribution has been received by Licensor and 357 | subsequently incorporated within the Work. 358 | 359 | 2. Grant of Copyright License. Subject to the terms and conditions of 360 | this License, each Contributor hereby grants to You a perpetual, 361 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 362 | copyright license to reproduce, prepare Derivative Works of, 363 | publicly display, publicly perform, sublicense, and distribute the 364 | Work and such Derivative Works in Source or Object form. 365 | 366 | 3. Grant of Patent License. Subject to the terms and conditions of 367 | this License, each Contributor hereby grants to You a perpetual, 368 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 369 | (except as stated in this section) patent license to make, have made, 370 | use, offer to sell, sell, import, and otherwise transfer the Work, 371 | where such license applies only to those patent claims licensable 372 | by such Contributor that are necessarily infringed by their 373 | Contribution(s) alone or by combination of their Contribution(s) 374 | with the Work to which such Contribution(s) was submitted. If You 375 | institute patent litigation against any entity (including a 376 | cross-claim or counterclaim in a lawsuit) alleging that the Work 377 | or a Contribution incorporated within the Work constitutes direct 378 | or contributory patent infringement, then any patent licenses 379 | granted to You under this License for that Work shall terminate 380 | as of the date such litigation is filed. 381 | 382 | 4. Redistribution. You may reproduce and distribute copies of the 383 | Work or Derivative Works thereof in any medium, with or without 384 | modifications, and in Source or Object form, provided that You 385 | meet the following conditions: 386 | 387 | (a) You must give any other recipients of the Work or 388 | Derivative Works a copy of this License; and 389 | 390 | (b) You must cause any modified files to carry prominent notices 391 | stating that You changed the files; and 392 | 393 | (c) You must retain, in the Source form of any Derivative Works 394 | that You distribute, all copyright, patent, trademark, and 395 | attribution notices from the Source form of the Work, 396 | excluding those notices that do not pertain to any part of 397 | the Derivative Works; and 398 | 399 | (d) If the Work includes a "NOTICE" text file as part of its 400 | distribution, then any Derivative Works that You distribute must 401 | include a readable copy of the attribution notices contained 402 | within such NOTICE file, excluding those notices that do not 403 | pertain to any part of the Derivative Works, in at least one 404 | of the following places: within a NOTICE text file distributed 405 | as part of the Derivative Works; within the Source form or 406 | documentation, if provided along with the Derivative Works; or, 407 | within a display generated by the Derivative Works, if and 408 | wherever such third-party notices normally appear. The contents 409 | of the NOTICE file are for informational purposes only and 410 | do not modify the License. You may add Your own attribution 411 | notices within Derivative Works that You distribute, alongside 412 | or as an addendum to the NOTICE text from the Work, provided 413 | that such additional attribution notices cannot be construed 414 | as modifying the License. 415 | 416 | You may add Your own copyright statement to Your modifications and 417 | may provide additional or different license terms and conditions 418 | for use, reproduction, or distribution of Your modifications, or 419 | for any such Derivative Works as a whole, provided Your use, 420 | reproduction, and distribution of the Work otherwise complies with 421 | the conditions stated in this License. 422 | 423 | 5. Submission of Contributions. Unless You explicitly state otherwise, 424 | any Contribution intentionally submitted for inclusion in the Work 425 | by You to the Licensor shall be under the terms and conditions of 426 | this License, without any additional terms or conditions. 427 | Notwithstanding the above, nothing herein shall supersede or modify 428 | the terms of any separate license agreement you may have executed 429 | with Licensor regarding such Contributions. 430 | 431 | 6. Trademarks. This License does not grant permission to use the trade 432 | names, trademarks, service marks, or product names of the Licensor, 433 | except as required for reasonable and customary use in describing the 434 | origin of the Work and reproducing the content of the NOTICE file. 435 | 436 | 7. Disclaimer of Warranty. Unless required by applicable law or 437 | agreed to in writing, Licensor provides the Work (and each 438 | Contributor provides its Contributions) on an "AS IS" BASIS, 439 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 440 | implied, including, without limitation, any warranties or conditions 441 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 442 | PARTICULAR PURPOSE. You are solely responsible for determining the 443 | appropriateness of using or redistributing the Work and assume any 444 | risks associated with Your exercise of permissions under this License. 445 | 446 | 8. Limitation of Liability. In no event and under no legal theory, 447 | whether in tort (including negligence), contract, or otherwise, 448 | unless required by applicable law (such as deliberate and grossly 449 | negligent acts) or agreed to in writing, shall any Contributor be 450 | liable to You for damages, including any direct, indirect, special, 451 | incidental, or consequential damages of any character arising as a 452 | result of this License or out of the use or inability to use the 453 | Work (including but not limited to damages for loss of goodwill, 454 | work stoppage, computer failure or malfunction, or any and all 455 | other commercial damages or losses), even if such Contributor 456 | has been advised of the possibility of such damages. 457 | 458 | 9. Accepting Warranty or Additional Liability. While redistributing 459 | the Work or Derivative Works thereof, You may choose to offer, 460 | and charge a fee for, acceptance of support, warranty, indemnity, 461 | or other liability obligations and/or rights consistent with this 462 | License. However, in accepting such obligations, You may act only 463 | on Your own behalf and on Your sole responsibility, not on behalf 464 | of any other Contributor, and only if You agree to indemnify, 465 | defend, and hold each Contributor harmless for any liability 466 | incurred by, or claims asserted against, such Contributor by reason 467 | of your accepting any such warranty or additional liability. 468 | 469 | END OF TERMS AND CONDITIONS 470 | 471 | APPENDIX: How to apply the Apache License to your work. 472 | 473 | To apply the Apache License to your work, attach the following 474 | boilerplate notice, with the fields enclosed by brackets "[]" 475 | replaced with your own identifying information. (Don't include 476 | the brackets!) The text should be enclosed in the appropriate 477 | comment syntax for the file format. We also recommend that a 478 | file or class name and description of purpose be included on the 479 | same "printed page" as the copyright notice for easier 480 | identification within third-party archives. 481 | 482 | Copyright [yyyy] [name of copyright owner] 483 | 484 | Licensed under the Apache License, Version 2.0 (the "License"); 485 | you may not use this file except in compliance with the License. 486 | You may obtain a copy of the License at 487 | 488 | http://www.apache.org/licenses/LICENSE-2.0 489 | 490 | Unless required by applicable law or agreed to in writing, software 491 | distributed under the License is distributed on an "AS IS" BASIS, 492 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 493 | See the License for the specific language governing permissions and 494 | limitations under the License. 495 | =================================================================================== 496 | 497 | 498 | 499 | =================================================================================== 500 | OpenCV 4.5.2 501 | 502 | 503 | Copyright 2022, OpenCV Foundation 504 | 505 | 506 | 507 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at 508 | 509 | http://www.apache.org/licenses/LICENSE-2.0 510 | 511 | 512 | 513 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 514 | =================================================================================== 515 | 516 | 517 | 518 | =================================================================================== 519 | JsonCpp library 520 | 521 | The JsonCpp library's source code, including accompanying documentation, 522 | tests and demonstration applications, are licensed under the following 523 | conditions... 524 | 525 | The author (Baptiste Lepilleur) explicitly disclaims copyright in all 526 | jurisdictions which recognize such a disclaimer. In such jurisdictions, 527 | this software is released into the Public Domain. 528 | 529 | In jurisdictions which do not recognize Public Domain property (e.g. Germany as of 530 | 2010), this software is Copyright (c) 2007-2010 by Baptiste Lepilleur, and is 531 | released under the terms of the MIT License (see below). 532 | 533 | In jurisdictions which recognize Public Domain property, the user of this 534 | software may choose to accept it either as 1) Public Domain, 2) under the 535 | conditions of the MIT License (see below), or 3) under the terms of dual 536 | Public Domain/MIT License conditions described here, as they choose. 537 | 538 | The MIT License is about as close to Public Domain as a license can get, and is 539 | described in clear, concise terms at: 540 | 541 | http://en.wikipedia.org/wiki/MIT_License 542 | 543 | The full text of the MIT License follows: 544 | 545 | ======================================================================== 546 | Copyright (c) 2007-2010 Baptiste Lepilleur 547 | 548 | Permission is hereby granted, free of charge, to any person 549 | obtaining a copy of this software and associated documentation 550 | files (the "Software"), to deal in the Software without 551 | restriction, including without limitation the rights to use, copy, 552 | modify, merge, publish, distribute, sublicense, and/or sell copies 553 | of the Software, and to permit persons to whom the Software is 554 | furnished to do so, subject to the following conditions: 555 | 556 | The above copyright notice and this permission notice shall be 557 | included in all copies or substantial portions of the Software. 558 | 559 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 560 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 561 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 562 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 563 | BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 564 | ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 565 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 566 | SOFTWARE. 567 | ======================================================================== 568 | (END LICENSE TEXT) 569 | 570 | The MIT license is compatible with both the GPL and commercial 571 | software, affording one all of the rights of Public Domain with the 572 | minor nuisance of being required to keep the above copyright notice 573 | and license text in the source code. Note also that by accepting the 574 | Public Domain "license" you can re-license your copy using whatever 575 | license you like. 576 | =================================================================================== 577 | 578 | 579 | 580 | =================================================================================== 581 | Libcurl 582 | 583 | COPYRIGHT AND PERMISSION NOTICE 584 | 585 | Copyright (c) 1996 - 2023, Daniel Stenberg, , and many 586 | contributors, see the THANKS file. 587 | 588 | All rights reserved. 589 | 590 | Permission to use, copy, modify, and distribute this software for any purpose 591 | with or without fee is hereby granted, provided that the above copyright 592 | notice and this permission notice appear in all copies. 593 | 594 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 595 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 596 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN 597 | NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 598 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 599 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE 600 | OR OTHER DEALINGS IN THE SOFTWARE. 601 | 602 | Except as contained in this notice, the name of a copyright holder shall not 603 | be used in advertising or otherwise to promote the sale, use or other dealings 604 | in this Software without prior written authorization of the copyright holder. 605 | =================================================================================== 606 | 607 | 608 | 609 | =================================================================================== 610 | OpenSSL 611 | 612 | 613 | LICENSE ISSUES 614 | ============== 615 | 616 | The OpenSSL toolkit stays under a double license, i.e. both the conditions of 617 | the OpenSSL License and the original SSLeay license apply to the toolkit. 618 | See below for the actual license texts. 619 | 620 | OpenSSL License 621 | --------------- 622 | 623 | /* ==================================================================== 624 | * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. 625 | * 626 | * Redistribution and use in source and binary forms, with or without 627 | * modification, are permitted provided that the following conditions 628 | * are met: 629 | * 630 | * 1. Redistributions of source code must retain the above copyright 631 | * notice, this list of conditions and the following disclaimer. 632 | * 633 | * 2. Redistributions in binary form must reproduce the above copyright 634 | * notice, this list of conditions and the following disclaimer in 635 | * the documentation and/or other materials provided with the 636 | * distribution. 637 | * 638 | * 3. All advertising materials mentioning features or use of this 639 | * software must display the following acknowledgment: 640 | * "This product includes software developed by the OpenSSL Project 641 | * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" 642 | * 643 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 644 | * endorse or promote products derived from this software without 645 | * prior written permission. For written permission, please contact 646 | * openssl-core@openssl.org. 647 | * 648 | * 5. Products derived from this software may not be called "OpenSSL" 649 | * nor may "OpenSSL" appear in their names without prior written 650 | * permission of the OpenSSL Project. 651 | * 652 | * 6. Redistributions of any form whatsoever must retain the following 653 | * acknowledgment: 654 | * "This product includes software developed by the OpenSSL Project 655 | * for use in the OpenSSL Toolkit (http://www.openssl.org/)" 656 | * 657 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 658 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 659 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 660 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 661 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 662 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 663 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 664 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 665 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 666 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 667 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 668 | * OF THE POSSIBILITY OF SUCH DAMAGE. 669 | * ==================================================================== 670 | * 671 | * This product includes cryptographic software written by Eric Young 672 | * (eay@cryptsoft.com). This product includes software written by Tim 673 | * Hudson (tjh@cryptsoft.com). 674 | * 675 | */ 676 | 677 | Original SSLeay License 678 | ----------------------- 679 | 680 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 681 | * All rights reserved. 682 | * 683 | * This package is an SSL implementation written 684 | * by Eric Young (eay@cryptsoft.com). 685 | * The implementation was written so as to conform with Netscapes SSL. 686 | * 687 | * This library is free for commercial and non-commercial use as long as 688 | * the following conditions are aheared to. The following conditions 689 | * apply to all code found in this distribution, be it the RC4, RSA, 690 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation 691 | * included with this distribution is covered by the same copyright terms 692 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). 693 | * 694 | * Copyright remains Eric Young's, and as such any Copyright notices in 695 | * the code are not to be removed. 696 | * If this package is used in a product, Eric Young should be given attribution 697 | * as the author of the parts of the library used. 698 | * This can be in the form of a textual message at program startup or 699 | * in documentation (online or textual) provided with the package. 700 | * 701 | * Redistribution and use in source and binary forms, with or without 702 | * modification, are permitted provided that the following conditions 703 | * are met: 704 | * 1. Redistributions of source code must retain the copyright 705 | * notice, this list of conditions and the following disclaimer. 706 | * 2. Redistributions in binary form must reproduce the above copyright 707 | * notice, this list of conditions and the following disclaimer in the 708 | * documentation and/or other materials provided with the distribution. 709 | * 3. All advertising materials mentioning features or use of this software 710 | * must display the following acknowledgement: 711 | * "This product includes cryptographic software written by 712 | * Eric Young (eay@cryptsoft.com)" 713 | * The word 'cryptographic' can be left out if the rouines from the library 714 | * being used are not cryptographic related :-). 715 | * 4. If you include any Windows specific code (or a derivative thereof) from 716 | * the apps directory (application code) you must include an acknowledgement: 717 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 718 | * 719 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 720 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 721 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 722 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 723 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 724 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 725 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 726 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 727 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 728 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 729 | * SUCH DAMAGE. 730 | * 731 | * The licence and distribution terms for any publically available version or 732 | * derivative of this code cannot be changed. i.e. this code cannot simply be 733 | * copied and put under another distribution licence 734 | * [including the GNU Public Licence.] 735 | */ 736 | =================================================================================== 737 | 738 | 739 | 740 | =================================================================================== 741 | openjpeg Library 742 | 743 | The copyright in this software is being made available under the 2-clauses 744 | BSD License, included below. This software may be subject to other third 745 | party and contributor rights, including patent rights, and no such rights 746 | are granted under this license. 747 | 748 | Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium 749 | Copyright (c) 2002-2014, Professor Benoit Macq 750 | Copyright (c) 2003-2014, Antonin Descampe 751 | Copyright (c) 2003-2009, Francois-Olivier Devaux 752 | Copyright (c) 2005, Herve Drolon, FreeImage Team 753 | Copyright (c) 2002-2003, Yannick Verschueren 754 | Copyright (c) 2001-2003, David Janssens 755 | Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France 756 | Copyright (c) 2012, CS Systemes d'Information, France 757 | 758 | All rights reserved. 759 | 760 | Redistribution and use in source and binary forms, with or without 761 | modification, are permitted provided that the following conditions 762 | are met: 763 | 1. Redistributions of source code must retain the above copyright 764 | notice, this list of conditions and the following disclaimer. 765 | 2. Redistributions in binary form must reproduce the above copyright 766 | notice, this list of conditions and the following disclaimer in the 767 | documentation and/or other materials provided with the distribution. 768 | 769 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' 770 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 771 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 772 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 773 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 774 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 775 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 776 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 777 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 778 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 779 | POSSIBILITY OF SUCH DAMAGE. 780 | 781 | =================================================================================== 782 | 783 | 784 | 785 | =================================================================================== 786 | jbig2enc Library 787 | 788 | Copyright 2006 Google Inc. All Rights Reserved. 789 | Author: agl@imperialviolet.org (Adam Langley) 790 | 791 | Copyright (C) 2006 Google Inc. 792 | 793 | Licensed under the Apache License, Version 2.0 (the "License"); 794 | you may not use this file except in compliance with the License. 795 | You may obtain a copy of the License at 796 | 797 | http://www.apache.org/licenses/LICENSE-2.0 798 | 799 | Unless required by applicable law or agreed to in writing, software 800 | distributed under the License is distributed on an "AS IS" BASIS, 801 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 802 | See the License for the specific language governing permissions and 803 | limitations under the License. 804 | =================================================================================== 805 | 806 | 807 | 808 | =================================================================================== 809 | PDFWriter 810 | 811 | Copyright 2011 Gal Kahana PDFWriter 812 | Licensed under the Apache License, Version 2.0 (the "License"); 813 | you may not use this file except in compliance with the License.  814 | You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0  815 | Unless required by applicable law or agreed to in writing, software  816 | distributed under the License is distributed on an "AS IS" BASIS, 817 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 818 | See the License for the specific language governing permissions and 819 | limitations under the License. 820 | =================================================================================== 821 | 822 | 823 | 824 | =================================================================================== 825 | 826 | pdfium 827 | 828 | // Copyright 2014 PDFium Authors. All rights reserved. 829 | // 830 | // Redistribution and use in source and binary forms, with or without 831 | // modification, are permitted provided that the following conditions are 832 | // met: 833 | // 834 | // * Redistributions of source code must retain the above copyright 835 | // notice, this list of conditions and the following disclaimer. 836 | // * Redistributions in binary form must reproduce the above 837 | // copyright notice, this list of conditions and the following disclaimer 838 | // in the documentation and/or other materials provided with the 839 | // distribution. 840 | // * Neither the name of Google Inc. nor the names of its 841 | // contributors may be used to endorse or promote products derived from 842 | // this software without specific prior written permission. 843 | // 844 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 845 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 846 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 847 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 848 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 849 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 850 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 851 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 852 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 853 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 854 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 855 | 856 | =================================================================================== 857 | 858 | protobuf 859 | 860 | Copyright 2008 Google Inc. All rights reserved. 861 | 862 | Redistribution and use in source and binary forms, with or without 863 | modification, are permitted provided that the following conditions are 864 | met: 865 | 866 | * Redistributions of source code must retain the above copyright 867 | notice, this list of conditions and the following disclaimer. 868 | * Redistributions in binary form must reproduce the above 869 | copyright notice, this list of conditions and the following disclaimer 870 | in the documentation and/or other materials provided with the 871 | distribution. 872 | * Neither the name of Google Inc. nor the names of its 873 | contributors may be used to endorse or promote products derived from 874 | this software without specific prior written permission. 875 | 876 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 877 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 878 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 879 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 880 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 881 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 882 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 883 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 884 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 885 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 886 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 887 | 888 | Code generated by the Protocol Buffer compiler is owned by the owner 889 | of the input file used when generating it. This code is not 890 | standalone and requires a support library to be linked with it. This 891 | support library is itself covered by the above license. 892 | 893 | =================================================================================== 894 | 895 | onnxruntime 896 | 897 | Copyright (c) Microsoft Corporation 898 | 899 | Permission is hereby granted, free of charge, to any person obtaining a copy 900 | of this software and associated documentation files (the "Software"), to deal 901 | in the Software without restriction, including without limitation the rights 902 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 903 | copies of the Software, and to permit persons to whom the Software is 904 | furnished to do so, subject to the following conditions: 905 | 906 | The above copyright notice and this permission notice shall be included in all 907 | copies or substantial portions of the Software. 908 | 909 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 910 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 911 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 912 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 913 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 914 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 915 | SOFTWARE. 916 | 917 | =================================================================================== 918 | 919 | pytorch_cpuinfo 920 | 921 | Copyright (c) 2019 Google LLC 922 | Copyright (c) 2017-2018 Facebook Inc. 923 | Copyright (C) 2012-2017 Georgia Institute of Technology 924 | Copyright (C) 2010-2012 Marat Dukhan 925 | 926 | All rights reserved. 927 | 928 | Redistribution and use in source and binary forms, with or without 929 | modification, are permitted provided that the following conditions are met: 930 | 931 | * Redistributions of source code must retain the above copyright notice, this 932 | list of conditions and the following disclaimer. 933 | 934 | * Redistributions in binary form must reproduce the above copyright notice, 935 | this list of conditions and the following disclaimer in the documentation 936 | and/or other materials provided with the distribution. 937 | 938 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 939 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 940 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 941 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 942 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 943 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 944 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 945 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 946 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 947 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 948 | 949 | =================================================================================== 950 | 951 | flatbuffers 952 | 953 | Apache License 954 | Version 2.0, January 2004 955 | http://www.apache.org/licenses/ 956 | 957 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 958 | 959 | 1. Definitions. 960 | 961 | "License" shall mean the terms and conditions for use, reproduction, 962 | and distribution as defined by Sections 1 through 9 of this document. 963 | 964 | "Licensor" shall mean the copyright owner or entity authorized by 965 | the copyright owner that is granting the License. 966 | 967 | "Legal Entity" shall mean the union of the acting entity and all 968 | other entities that control, are controlled by, or are under common 969 | control with that entity. For the purposes of this definition, 970 | "control" means (i) the power, direct or indirect, to cause the 971 | direction or management of such entity, whether by contract or 972 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 973 | outstanding shares, or (iii) beneficial ownership of such entity. 974 | 975 | "You" (or "Your") shall mean an individual or Legal Entity 976 | exercising permissions granted by this License. 977 | 978 | "Source" form shall mean the preferred form for making modifications, 979 | including but not limited to software source code, documentation 980 | source, and configuration files. 981 | 982 | "Object" form shall mean any form resulting from mechanical 983 | transformation or translation of a Source form, including but 984 | not limited to compiled object code, generated documentation, 985 | and conversions to other media types. 986 | 987 | "Work" shall mean the work of authorship, whether in Source or 988 | Object form, made available under the License, as indicated by a 989 | copyright notice that is included in or attached to the work 990 | (an example is provided in the Appendix below). 991 | 992 | "Derivative Works" shall mean any work, whether in Source or Object 993 | form, that is based on (or derived from) the Work and for which the 994 | editorial revisions, annotations, elaborations, or other modifications 995 | represent, as a whole, an original work of authorship. For the purposes 996 | of this License, Derivative Works shall not include works that remain 997 | separable from, or merely link (or bind by name) to the interfaces of, 998 | the Work and Derivative Works thereof. 999 | 1000 | "Contribution" shall mean any work of authorship, including 1001 | the original version of the Work and any modifications or additions 1002 | to that Work or Derivative Works thereof, that is intentionally 1003 | submitted to Licensor for inclusion in the Work by the copyright owner 1004 | or by an individual or Legal Entity authorized to submit on behalf of 1005 | the copyright owner. For the purposes of this definition, "submitted" 1006 | means any form of electronic, verbal, or written communication sent 1007 | to the Licensor or its representatives, including but not limited to 1008 | communication on electronic mailing lists, source code control systems, 1009 | and issue tracking systems that are managed by, or on behalf of, the 1010 | Licensor for the purpose of discussing and improving the Work, but 1011 | excluding communication that is conspicuously marked or otherwise 1012 | designated in writing by the copyright owner as "Not a Contribution." 1013 | 1014 | "Contributor" shall mean Licensor and any individual or Legal Entity 1015 | on behalf of whom a Contribution has been received by Licensor and 1016 | subsequently incorporated within the Work. 1017 | 1018 | 2. Grant of Copyright License. Subject to the terms and conditions of 1019 | this License, each Contributor hereby grants to You a perpetual, 1020 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 1021 | copyright license to reproduce, prepare Derivative Works of, 1022 | publicly display, publicly perform, sublicense, and distribute the 1023 | Work and such Derivative Works in Source or Object form. 1024 | 1025 | 3. Grant of Patent License. Subject to the terms and conditions of 1026 | this License, each Contributor hereby grants to You a perpetual, 1027 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 1028 | (except as stated in this section) patent license to make, have made, 1029 | use, offer to sell, sell, import, and otherwise transfer the Work, 1030 | where such license applies only to those patent claims licensable 1031 | by such Contributor that are necessarily infringed by their 1032 | Contribution(s) alone or by combination of their Contribution(s) 1033 | with the Work to which such Contribution(s) was submitted. If You 1034 | institute patent litigation against any entity (including a 1035 | cross-claim or counterclaim in a lawsuit) alleging that the Work 1036 | or a Contribution incorporated within the Work constitutes direct 1037 | or contributory patent infringement, then any patent licenses 1038 | granted to You under this License for that Work shall terminate 1039 | as of the date such litigation is filed. 1040 | 1041 | 4. Redistribution. You may reproduce and distribute copies of the 1042 | Work or Derivative Works thereof in any medium, with or without 1043 | modifications, and in Source or Object form, provided that You 1044 | meet the following conditions: 1045 | 1046 | (a) You must give any other recipients of the Work or 1047 | Derivative Works a copy of this License; and 1048 | 1049 | (b) You must cause any modified files to carry prominent notices 1050 | stating that You changed the files; and 1051 | 1052 | (c) You must retain, in the Source form of any Derivative Works 1053 | that You distribute, all copyright, patent, trademark, and 1054 | attribution notices from the Source form of the Work, 1055 | excluding those notices that do not pertain to any part of 1056 | the Derivative Works; and 1057 | 1058 | (d) If the Work includes a "NOTICE" text file as part of its 1059 | distribution, then any Derivative Works that You distribute must 1060 | include a readable copy of the attribution notices contained 1061 | within such NOTICE file, excluding those notices that do not 1062 | pertain to any part of the Derivative Works, in at least one 1063 | of the following places: within a NOTICE text file distributed 1064 | as part of the Derivative Works; within the Source form or 1065 | documentation, if provided along with the Derivative Works; or, 1066 | within a display generated by the Derivative Works, if and 1067 | wherever such third-party notices normally appear. The contents 1068 | of the NOTICE file are for informational purposes only and 1069 | do not modify the License. You may add Your own attribution 1070 | notices within Derivative Works that You distribute, alongside 1071 | or as an addendum to the NOTICE text from the Work, provided 1072 | that such additional attribution notices cannot be construed 1073 | as modifying the License. 1074 | 1075 | You may add Your own copyright statement to Your modifications and 1076 | may provide additional or different license terms and conditions 1077 | for use, reproduction, or distribution of Your modifications, or 1078 | for any such Derivative Works as a whole, provided Your use, 1079 | reproduction, and distribution of the Work otherwise complies with 1080 | the conditions stated in this License. 1081 | 1082 | 5. Submission of Contributions. Unless You explicitly state otherwise, 1083 | any Contribution intentionally submitted for inclusion in the Work 1084 | by You to the Licensor shall be under the terms and conditions of 1085 | this License, without any additional terms or conditions. 1086 | Notwithstanding the above, nothing herein shall supersede or modify 1087 | the terms of any separate license agreement you may have executed 1088 | with Licensor regarding such Contributions. 1089 | 1090 | 6. Trademarks. This License does not grant permission to use the trade 1091 | names, trademarks, service marks, or product names of the Licensor, 1092 | except as required for reasonable and customary use in describing the 1093 | origin of the Work and reproducing the content of the NOTICE file. 1094 | 1095 | 7. Disclaimer of Warranty. Unless required by applicable law or 1096 | agreed to in writing, Licensor provides the Work (and each 1097 | Contributor provides its Contributions) on an "AS IS" BASIS, 1098 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 1099 | implied, including, without limitation, any warranties or conditions 1100 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 1101 | PARTICULAR PURPOSE. You are solely responsible for determining the 1102 | appropriateness of using or redistributing the Work and assume any 1103 | risks associated with Your exercise of permissions under this License. 1104 | 1105 | 8. Limitation of Liability. In no event and under no legal theory, 1106 | whether in tort (including negligence), contract, or otherwise, 1107 | unless required by applicable law (such as deliberate and grossly 1108 | negligent acts) or agreed to in writing, shall any Contributor be 1109 | liable to You for damages, including any direct, indirect, special, 1110 | incidental, or consequential damages of any character arising as a 1111 | result of this License or out of the use or inability to use the 1112 | Work (including but not limited to damages for loss of goodwill, 1113 | work stoppage, computer failure or malfunction, or any and all 1114 | other commercial damages or losses), even if such Contributor 1115 | has been advised of the possibility of such damages. 1116 | 1117 | 9. Accepting Warranty or Additional Liability. While redistributing 1118 | the Work or Derivative Works thereof, You may choose to offer, 1119 | and charge a fee for, acceptance of support, warranty, indemnity, 1120 | or other liability obligations and/or rights consistent with this 1121 | License. However, in accepting such obligations, You may act only 1122 | on Your own behalf and on Your sole responsibility, not on behalf 1123 | of any other Contributor, and only if You agree to indemnify, 1124 | defend, and hold each Contributor harmless for any liability 1125 | incurred by, or claims asserted against, such Contributor by reason 1126 | of your accepting any such warranty or additional liability. 1127 | 1128 | END OF TERMS AND CONDITIONS 1129 | 1130 | APPENDIX: How to apply the Apache License to your work. 1131 | 1132 | To apply the Apache License to your work, attach the following 1133 | boilerplate notice, with the fields enclosed by brackets "[]" 1134 | replaced with your own identifying information. (Don't include 1135 | the brackets!) The text should be enclosed in the appropriate 1136 | comment syntax for the file format. We also recommend that a 1137 | file or class name and description of purpose be included on the 1138 | same "printed page" as the copyright notice for easier 1139 | identification within third-party archives. 1140 | 1141 | Copyright [yyyy] [name of copyright owner] 1142 | 1143 | Licensed under the Apache License, Version 2.0 (the "License"); 1144 | you may not use this file except in compliance with the License. 1145 | You may obtain a copy of the License at 1146 | 1147 | http://www.apache.org/licenses/LICENSE-2.0 1148 | 1149 | Unless required by applicable law or agreed to in writing, software 1150 | distributed under the License is distributed on an "AS IS" BASIS, 1151 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1152 | See the License for the specific language governing permissions and 1153 | limitations under the License. 1154 | 1155 | =================================================================================== 1156 | 1157 | abseil_cpp 1158 | 1159 | Apache License 1160 | Version 2.0, January 2004 1161 | http://www.apache.org/licenses/ 1162 | 1163 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1164 | 1165 | 1. Definitions. 1166 | 1167 | "License" shall mean the terms and conditions for use, reproduction, 1168 | and distribution as defined by Sections 1 through 9 of this document. 1169 | 1170 | "Licensor" shall mean the copyright owner or entity authorized by 1171 | the copyright owner that is granting the License. 1172 | 1173 | "Legal Entity" shall mean the union of the acting entity and all 1174 | other entities that control, are controlled by, or are under common 1175 | control with that entity. For the purposes of this definition, 1176 | "control" means (i) the power, direct or indirect, to cause the 1177 | direction or management of such entity, whether by contract or 1178 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 1179 | outstanding shares, or (iii) beneficial ownership of such entity. 1180 | 1181 | "You" (or "Your") shall mean an individual or Legal Entity 1182 | exercising permissions granted by this License. 1183 | 1184 | "Source" form shall mean the preferred form for making modifications, 1185 | including but not limited to software source code, documentation 1186 | source, and configuration files. 1187 | 1188 | "Object" form shall mean any form resulting from mechanical 1189 | transformation or translation of a Source form, including but 1190 | not limited to compiled object code, generated documentation, 1191 | and conversions to other media types. 1192 | 1193 | "Work" shall mean the work of authorship, whether in Source or 1194 | Object form, made available under the License, as indicated by a 1195 | copyright notice that is included in or attached to the work 1196 | (an example is provided in the Appendix below). 1197 | 1198 | "Derivative Works" shall mean any work, whether in Source or Object 1199 | form, that is based on (or derived from) the Work and for which the 1200 | editorial revisions, annotations, elaborations, or other modifications 1201 | represent, as a whole, an original work of authorship. For the purposes 1202 | of this License, Derivative Works shall not include works that remain 1203 | separable from, or merely link (or bind by name) to the interfaces of, 1204 | the Work and Derivative Works thereof. 1205 | 1206 | "Contribution" shall mean any work of authorship, including 1207 | the original version of the Work and any modifications or additions 1208 | to that Work or Derivative Works thereof, that is intentionally 1209 | submitted to Licensor for inclusion in the Work by the copyright owner 1210 | or by an individual or Legal Entity authorized to submit on behalf of 1211 | the copyright owner. For the purposes of this definition, "submitted" 1212 | means any form of electronic, verbal, or written communication sent 1213 | to the Licensor or its representatives, including but not limited to 1214 | communication on electronic mailing lists, source code control systems, 1215 | and issue tracking systems that are managed by, or on behalf of, the 1216 | Licensor for the purpose of discussing and improving the Work, but 1217 | excluding communication that is conspicuously marked or otherwise 1218 | designated in writing by the copyright owner as "Not a Contribution." 1219 | 1220 | "Contributor" shall mean Licensor and any individual or Legal Entity 1221 | on behalf of whom a Contribution has been received by Licensor and 1222 | subsequently incorporated within the Work. 1223 | 1224 | 2. Grant of Copyright License. Subject to the terms and conditions of 1225 | this License, each Contributor hereby grants to You a perpetual, 1226 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 1227 | copyright license to reproduce, prepare Derivative Works of, 1228 | publicly display, publicly perform, sublicense, and distribute the 1229 | Work and such Derivative Works in Source or Object form. 1230 | 1231 | 3. Grant of Patent License. Subject to the terms and conditions of 1232 | this License, each Contributor hereby grants to You a perpetual, 1233 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 1234 | (except as stated in this section) patent license to make, have made, 1235 | use, offer to sell, sell, import, and otherwise transfer the Work, 1236 | where such license applies only to those patent claims licensable 1237 | by such Contributor that are necessarily infringed by their 1238 | Contribution(s) alone or by combination of their Contribution(s) 1239 | with the Work to which such Contribution(s) was submitted. If You 1240 | institute patent litigation against any entity (including a 1241 | cross-claim or counterclaim in a lawsuit) alleging that the Work 1242 | or a Contribution incorporated within the Work constitutes direct 1243 | or contributory patent infringement, then any patent licenses 1244 | granted to You under this License for that Work shall terminate 1245 | as of the date such litigation is filed. 1246 | 1247 | 4. Redistribution. You may reproduce and distribute copies of the 1248 | Work or Derivative Works thereof in any medium, with or without 1249 | modifications, and in Source or Object form, provided that You 1250 | meet the following conditions: 1251 | 1252 | (a) You must give any other recipients of the Work or 1253 | Derivative Works a copy of this License; and 1254 | 1255 | (b) You must cause any modified files to carry prominent notices 1256 | stating that You changed the files; and 1257 | 1258 | (c) You must retain, in the Source form of any Derivative Works 1259 | that You distribute, all copyright, patent, trademark, and 1260 | attribution notices from the Source form of the Work, 1261 | excluding those notices that do not pertain to any part of 1262 | the Derivative Works; and 1263 | 1264 | (d) If the Work includes a "NOTICE" text file as part of its 1265 | distribution, then any Derivative Works that You distribute must 1266 | include a readable copy of the attribution notices contained 1267 | within such NOTICE file, excluding those notices that do not 1268 | pertain to any part of the Derivative Works, in at least one 1269 | of the following places: within a NOTICE text file distributed 1270 | as part of the Derivative Works; within the Source form or 1271 | documentation, if provided along with the Derivative Works; or, 1272 | within a display generated by the Derivative Works, if and 1273 | wherever such third-party notices normally appear. The contents 1274 | of the NOTICE file are for informational purposes only and 1275 | do not modify the License. You may add Your own attribution 1276 | notices within Derivative Works that You distribute, alongside 1277 | or as an addendum to the NOTICE text from the Work, provided 1278 | that such additional attribution notices cannot be construed 1279 | as modifying the License. 1280 | 1281 | You may add Your own copyright statement to Your modifications and 1282 | may provide additional or different license terms and conditions 1283 | for use, reproduction, or distribution of Your modifications, or 1284 | for any such Derivative Works as a whole, provided Your use, 1285 | reproduction, and distribution of the Work otherwise complies with 1286 | the conditions stated in this License. 1287 | 1288 | 5. Submission of Contributions. Unless You explicitly state otherwise, 1289 | any Contribution intentionally submitted for inclusion in the Work 1290 | by You to the Licensor shall be under the terms and conditions of 1291 | this License, without any additional terms or conditions. 1292 | Notwithstanding the above, nothing herein shall supersede or modify 1293 | the terms of any separate license agreement you may have executed 1294 | with Licensor regarding such Contributions. 1295 | 1296 | 6. Trademarks. This License does not grant permission to use the trade 1297 | names, trademarks, service marks, or product names of the Licensor, 1298 | except as required for reasonable and customary use in describing the 1299 | origin of the Work and reproducing the content of the NOTICE file. 1300 | 1301 | 7. Disclaimer of Warranty. Unless required by applicable law or 1302 | agreed to in writing, Licensor provides the Work (and each 1303 | Contributor provides its Contributions) on an "AS IS" BASIS, 1304 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 1305 | implied, including, without limitation, any warranties or conditions 1306 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 1307 | PARTICULAR PURPOSE. You are solely responsible for determining the 1308 | appropriateness of using or redistributing the Work and assume any 1309 | risks associated with Your exercise of permissions under this License. 1310 | 1311 | 8. Limitation of Liability. In no event and under no legal theory, 1312 | whether in tort (including negligence), contract, or otherwise, 1313 | unless required by applicable law (such as deliberate and grossly 1314 | negligent acts) or agreed to in writing, shall any Contributor be 1315 | liable to You for damages, including any direct, indirect, special, 1316 | incidental, or consequential damages of any character arising as a 1317 | result of this License or out of the use or inability to use the 1318 | Work (including but not limited to damages for loss of goodwill, 1319 | work stoppage, computer failure or malfunction, or any and all 1320 | other commercial damages or losses), even if such Contributor 1321 | has been advised of the possibility of such damages. 1322 | 1323 | 9. Accepting Warranty or Additional Liability. While redistributing 1324 | the Work or Derivative Works thereof, You may choose to offer, 1325 | and charge a fee for, acceptance of support, warranty, indemnity, 1326 | or other liability obligations and/or rights consistent with this 1327 | License. However, in accepting such obligations, You may act only 1328 | on Your own behalf and on Your sole responsibility, not on behalf 1329 | of any other Contributor, and only if You agree to indemnify, 1330 | defend, and hold each Contributor harmless for any liability 1331 | incurred by, or claims asserted against, such Contributor by reason 1332 | of your accepting any such warranty or additional liability. 1333 | 1334 | END OF TERMS AND CONDITIONS 1335 | 1336 | APPENDIX: How to apply the Apache License to your work. 1337 | 1338 | To apply the Apache License to your work, attach the following 1339 | boilerplate notice, with the fields enclosed by brackets "[]" 1340 | replaced with your own identifying information. (Don't include 1341 | the brackets!) The text should be enclosed in the appropriate 1342 | comment syntax for the file format. We also recommend that a 1343 | file or class name and description of purpose be included on the 1344 | same "printed page" as the copyright notice for easier 1345 | identification within third-party archives. 1346 | 1347 | Copyright [yyyy] [name of copyright owner] 1348 | 1349 | Licensed under the Apache License, Version 2.0 (the "License"); 1350 | you may not use this file except in compliance with the License. 1351 | You may obtain a copy of the License at 1352 | 1353 | http://www.apache.org/licenses/LICENSE-2.0 1354 | 1355 | Unless required by applicable law or agreed to in writing, software 1356 | distributed under the License is distributed on an "AS IS" BASIS, 1357 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1358 | See the License for the specific language governing permissions and 1359 | limitations under the License. 1360 | 1361 | =================================================================================== 1362 | 1363 | onnx 1364 | 1365 | Apache License 1366 | Version 2.0, January 2004 1367 | http://www.apache.org/licenses/ 1368 | 1369 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1370 | 1371 | 1. Definitions. 1372 | 1373 | "License" shall mean the terms and conditions for use, reproduction, 1374 | and distribution as defined by Sections 1 through 9 of this document. 1375 | 1376 | "Licensor" shall mean the copyright owner or entity authorized by 1377 | the copyright owner that is granting the License. 1378 | 1379 | "Legal Entity" shall mean the union of the acting entity and all 1380 | other entities that control, are controlled by, or are under common 1381 | control with that entity. For the purposes of this definition, 1382 | "control" means (i) the power, direct or indirect, to cause the 1383 | direction or management of such entity, whether by contract or 1384 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 1385 | outstanding shares, or (iii) beneficial ownership of such entity. 1386 | 1387 | "You" (or "Your") shall mean an individual or Legal Entity 1388 | exercising permissions granted by this License. 1389 | 1390 | "Source" form shall mean the preferred form for making modifications, 1391 | including but not limited to software source code, documentation 1392 | source, and configuration files. 1393 | 1394 | "Object" form shall mean any form resulting from mechanical 1395 | transformation or translation of a Source form, including but 1396 | not limited to compiled object code, generated documentation, 1397 | and conversions to other media types. 1398 | 1399 | "Work" shall mean the work of authorship, whether in Source or 1400 | Object form, made available under the License, as indicated by a 1401 | copyright notice that is included in or attached to the work 1402 | (an example is provided in the Appendix below). 1403 | 1404 | "Derivative Works" shall mean any work, whether in Source or Object 1405 | form, that is based on (or derived from) the Work and for which the 1406 | editorial revisions, annotations, elaborations, or other modifications 1407 | represent, as a whole, an original work of authorship. For the purposes 1408 | of this License, Derivative Works shall not include works that remain 1409 | separable from, or merely link (or bind by name) to the interfaces of, 1410 | the Work and Derivative Works thereof. 1411 | 1412 | "Contribution" shall mean any work of authorship, including 1413 | the original version of the Work and any modifications or additions 1414 | to that Work or Derivative Works thereof, that is intentionally 1415 | submitted to Licensor for inclusion in the Work by the copyright owner 1416 | or by an individual or Legal Entity authorized to submit on behalf of 1417 | the copyright owner. For the purposes of this definition, "submitted" 1418 | means any form of electronic, verbal, or written communication sent 1419 | to the Licensor or its representatives, including but not limited to 1420 | communication on electronic mailing lists, source code control systems, 1421 | and issue tracking systems that are managed by, or on behalf of, the 1422 | Licensor for the purpose of discussing and improving the Work, but 1423 | excluding communication that is conspicuously marked or otherwise 1424 | designated in writing by the copyright owner as "Not a Contribution." 1425 | 1426 | "Contributor" shall mean Licensor and any individual or Legal Entity 1427 | on behalf of whom a Contribution has been received by Licensor and 1428 | subsequently incorporated within the Work. 1429 | 1430 | 2. Grant of Copyright License. Subject to the terms and conditions of 1431 | this License, each Contributor hereby grants to You a perpetual, 1432 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 1433 | copyright license to reproduce, prepare Derivative Works of, 1434 | publicly display, publicly perform, sublicense, and distribute the 1435 | Work and such Derivative Works in Source or Object form. 1436 | 1437 | 3. Grant of Patent License. Subject to the terms and conditions of 1438 | this License, each Contributor hereby grants to You a perpetual, 1439 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 1440 | (except as stated in this section) patent license to make, have made, 1441 | use, offer to sell, sell, import, and otherwise transfer the Work, 1442 | where such license applies only to those patent claims licensable 1443 | by such Contributor that are necessarily infringed by their 1444 | Contribution(s) alone or by combination of their Contribution(s) 1445 | with the Work to which such Contribution(s) was submitted. If You 1446 | institute patent litigation against any entity (including a 1447 | cross-claim or counterclaim in a lawsuit) alleging that the Work 1448 | or a Contribution incorporated within the Work constitutes direct 1449 | or contributory patent infringement, then any patent licenses 1450 | granted to You under this License for that Work shall terminate 1451 | as of the date such litigation is filed. 1452 | 1453 | 4. Redistribution. You may reproduce and distribute copies of the 1454 | Work or Derivative Works thereof in any medium, with or without 1455 | modifications, and in Source or Object form, provided that You 1456 | meet the following conditions: 1457 | 1458 | (a) You must give any other recipients of the Work or 1459 | Derivative Works a copy of this License; and 1460 | 1461 | (b) You must cause any modified files to carry prominent notices 1462 | stating that You changed the files; and 1463 | 1464 | (c) You must retain, in the Source form of any Derivative Works 1465 | that You distribute, all copyright, patent, trademark, and 1466 | attribution notices from the Source form of the Work, 1467 | excluding those notices that do not pertain to any part of 1468 | the Derivative Works; and 1469 | 1470 | (d) If the Work includes a "NOTICE" text file as part of its 1471 | distribution, then any Derivative Works that You distribute must 1472 | include a readable copy of the attribution notices contained 1473 | within such NOTICE file, excluding those notices that do not 1474 | pertain to any part of the Derivative Works, in at least one 1475 | of the following places: within a NOTICE text file distributed 1476 | as part of the Derivative Works; within the Source form or 1477 | documentation, if provided along with the Derivative Works; or, 1478 | within a display generated by the Derivative Works, if and 1479 | wherever such third-party notices normally appear. The contents 1480 | of the NOTICE file are for informational purposes only and 1481 | do not modify the License. You may add Your own attribution 1482 | notices within Derivative Works that You distribute, alongside 1483 | or as an addendum to the NOTICE text from the Work, provided 1484 | that such additional attribution notices cannot be construed 1485 | as modifying the License. 1486 | 1487 | You may add Your own copyright statement to Your modifications and 1488 | may provide additional or different license terms and conditions 1489 | for use, reproduction, or distribution of Your modifications, or 1490 | for any such Derivative Works as a whole, provided Your use, 1491 | reproduction, and distribution of the Work otherwise complies with 1492 | the conditions stated in this License. 1493 | 1494 | 5. Submission of Contributions. Unless You explicitly state otherwise, 1495 | any Contribution intentionally submitted for inclusion in the Work 1496 | by You to the Licensor shall be under the terms and conditions of 1497 | this License, without any additional terms or conditions. 1498 | Notwithstanding the above, nothing herein shall supersede or modify 1499 | the terms of any separate license agreement you may have executed 1500 | with Licensor regarding such Contributions. 1501 | 1502 | 6. Trademarks. This License does not grant permission to use the trade 1503 | names, trademarks, service marks, or product names of the Licensor, 1504 | except as required for reasonable and customary use in describing the 1505 | origin of the Work and reproducing the content of the NOTICE file. 1506 | 1507 | 7. Disclaimer of Warranty. Unless required by applicable law or 1508 | agreed to in writing, Licensor provides the Work (and each 1509 | Contributor provides its Contributions) on an "AS IS" BASIS, 1510 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 1511 | implied, including, without limitation, any warranties or conditions 1512 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 1513 | PARTICULAR PURPOSE. You are solely responsible for determining the 1514 | appropriateness of using or redistributing the Work and assume any 1515 | risks associated with Your exercise of permissions under this License. 1516 | 1517 | 8. Limitation of Liability. In no event and under no legal theory, 1518 | whether in tort (including negligence), contract, or otherwise, 1519 | unless required by applicable law (such as deliberate and grossly 1520 | negligent acts) or agreed to in writing, shall any Contributor be 1521 | liable to You for damages, including any direct, indirect, special, 1522 | incidental, or consequential damages of any character arising as a 1523 | result of this License or out of the use or inability to use the 1524 | Work (including but not limited to damages for loss of goodwill, 1525 | work stoppage, computer failure or malfunction, or any and all 1526 | other commercial damages or losses), even if such Contributor 1527 | has been advised of the possibility of such damages. 1528 | 1529 | 9. Accepting Warranty or Additional Liability. While redistributing 1530 | the Work or Derivative Works thereof, You may choose to offer, 1531 | and charge a fee for, acceptance of support, warranty, indemnity, 1532 | or other liability obligations and/or rights consistent with this 1533 | License. However, in accepting such obligations, You may act only 1534 | on Your own behalf and on Your sole responsibility, not on behalf 1535 | of any other Contributor, and only if You agree to indemnify, 1536 | defend, and hold each Contributor harmless for any liability 1537 | incurred by, or claims asserted against, such Contributor by reason 1538 | of your accepting any such warranty or additional liability. 1539 | 1540 | END OF TERMS AND CONDITIONS 1541 | 1542 | APPENDIX: How to apply the Apache License to your work. 1543 | 1544 | To apply the Apache License to your work, attach the following 1545 | boilerplate notice, with the fields enclosed by brackets "[]" 1546 | replaced with your own identifying information. (Don't include 1547 | the brackets!) The text should be enclosed in the appropriate 1548 | comment syntax for the file format. We also recommend that a 1549 | file or class name and description of purpose be included on the 1550 | same "printed page" as the copyright notice for easier 1551 | identification within third-party archives. 1552 | 1553 | Copyright [yyyy] [name of copyright owner] 1554 | 1555 | Licensed under the Apache License, Version 2.0 (the "License"); 1556 | you may not use this file except in compliance with the License. 1557 | You may obtain a copy of the License at 1558 | 1559 | http://www.apache.org/licenses/LICENSE-2.0 1560 | 1561 | Unless required by applicable law or agreed to in writing, software 1562 | distributed under the License is distributed on an "AS IS" BASIS, 1563 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1564 | See the License for the specific language governing permissions and 1565 | limitations under the License. 1566 | 1567 | =================================================================================== 1568 | 1569 | google_nsync 1570 | 1571 | Apache License 1572 | Version 2.0, January 2004 1573 | http://www.apache.org/licenses/ 1574 | 1575 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1576 | 1577 | 1. Definitions. 1578 | 1579 | "License" shall mean the terms and conditions for use, reproduction, 1580 | and distribution as defined by Sections 1 through 9 of this document. 1581 | 1582 | "Licensor" shall mean the copyright owner or entity authorized by 1583 | the copyright owner that is granting the License. 1584 | 1585 | "Legal Entity" shall mean the union of the acting entity and all 1586 | other entities that control, are controlled by, or are under common 1587 | control with that entity. For the purposes of this definition, 1588 | "control" means (i) the power, direct or indirect, to cause the 1589 | direction or management of such entity, whether by contract or 1590 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 1591 | outstanding shares, or (iii) beneficial ownership of such entity. 1592 | 1593 | "You" (or "Your") shall mean an individual or Legal Entity 1594 | exercising permissions granted by this License. 1595 | 1596 | "Source" form shall mean the preferred form for making modifications, 1597 | including but not limited to software source code, documentation 1598 | source, and configuration files. 1599 | 1600 | "Object" form shall mean any form resulting from mechanical 1601 | transformation or translation of a Source form, including but 1602 | not limited to compiled object code, generated documentation, 1603 | and conversions to other media types. 1604 | 1605 | "Work" shall mean the work of authorship, whether in Source or 1606 | Object form, made available under the License, as indicated by a 1607 | copyright notice that is included in or attached to the work 1608 | (an example is provided in the Appendix below). 1609 | 1610 | "Derivative Works" shall mean any work, whether in Source or Object 1611 | form, that is based on (or derived from) the Work and for which the 1612 | editorial revisions, annotations, elaborations, or other modifications 1613 | represent, as a whole, an original work of authorship. For the purposes 1614 | of this License, Derivative Works shall not include works that remain 1615 | separable from, or merely link (or bind by name) to the interfaces of, 1616 | the Work and Derivative Works thereof. 1617 | 1618 | "Contribution" shall mean any work of authorship, including 1619 | the original version of the Work and any modifications or additions 1620 | to that Work or Derivative Works thereof, that is intentionally 1621 | submitted to Licensor for inclusion in the Work by the copyright owner 1622 | or by an individual or Legal Entity authorized to submit on behalf of 1623 | the copyright owner. For the purposes of this definition, "submitted" 1624 | means any form of electronic, verbal, or written communication sent 1625 | to the Licensor or its representatives, including but not limited to 1626 | communication on electronic mailing lists, source code control systems, 1627 | and issue tracking systems that are managed by, or on behalf of, the 1628 | Licensor for the purpose of discussing and improving the Work, but 1629 | excluding communication that is conspicuously marked or otherwise 1630 | designated in writing by the copyright owner as "Not a Contribution." 1631 | 1632 | "Contributor" shall mean Licensor and any individual or Legal Entity 1633 | on behalf of whom a Contribution has been received by Licensor and 1634 | subsequently incorporated within the Work. 1635 | 1636 | 2. Grant of Copyright License. Subject to the terms and conditions of 1637 | this License, each Contributor hereby grants to You a perpetual, 1638 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 1639 | copyright license to reproduce, prepare Derivative Works of, 1640 | publicly display, publicly perform, sublicense, and distribute the 1641 | Work and such Derivative Works in Source or Object form. 1642 | 1643 | 3. Grant of Patent License. Subject to the terms and conditions of 1644 | this License, each Contributor hereby grants to You a perpetual, 1645 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 1646 | (except as stated in this section) patent license to make, have made, 1647 | use, offer to sell, sell, import, and otherwise transfer the Work, 1648 | where such license applies only to those patent claims licensable 1649 | by such Contributor that are necessarily infringed by their 1650 | Contribution(s) alone or by combination of their Contribution(s) 1651 | with the Work to which such Contribution(s) was submitted. If You 1652 | institute patent litigation against any entity (including a 1653 | cross-claim or counterclaim in a lawsuit) alleging that the Work 1654 | or a Contribution incorporated within the Work constitutes direct 1655 | or contributory patent infringement, then any patent licenses 1656 | granted to You under this License for that Work shall terminate 1657 | as of the date such litigation is filed. 1658 | 1659 | 4. Redistribution. You may reproduce and distribute copies of the 1660 | Work or Derivative Works thereof in any medium, with or without 1661 | modifications, and in Source or Object form, provided that You 1662 | meet the following conditions: 1663 | 1664 | (a) You must give any other recipients of the Work or 1665 | Derivative Works a copy of this License; and 1666 | 1667 | (b) You must cause any modified files to carry prominent notices 1668 | stating that You changed the files; and 1669 | 1670 | (c) You must retain, in the Source form of any Derivative Works 1671 | that You distribute, all copyright, patent, trademark, and 1672 | attribution notices from the Source form of the Work, 1673 | excluding those notices that do not pertain to any part of 1674 | the Derivative Works; and 1675 | 1676 | (d) If the Work includes a "NOTICE" text file as part of its 1677 | distribution, then any Derivative Works that You distribute must 1678 | include a readable copy of the attribution notices contained 1679 | within such NOTICE file, excluding those notices that do not 1680 | pertain to any part of the Derivative Works, in at least one 1681 | of the following places: within a NOTICE text file distributed 1682 | as part of the Derivative Works; within the Source form or 1683 | documentation, if provided along with the Derivative Works; or, 1684 | within a display generated by the Derivative Works, if and 1685 | wherever such third-party notices normally appear. The contents 1686 | of the NOTICE file are for informational purposes only and 1687 | do not modify the License. You may add Your own attribution 1688 | notices within Derivative Works that You distribute, alongside 1689 | or as an addendum to the NOTICE text from the Work, provided 1690 | that such additional attribution notices cannot be construed 1691 | as modifying the License. 1692 | 1693 | You may add Your own copyright statement to Your modifications and 1694 | may provide additional or different license terms and conditions 1695 | for use, reproduction, or distribution of Your modifications, or 1696 | for any such Derivative Works as a whole, provided Your use, 1697 | reproduction, and distribution of the Work otherwise complies with 1698 | the conditions stated in this License. 1699 | 1700 | 5. Submission of Contributions. Unless You explicitly state otherwise, 1701 | any Contribution intentionally submitted for inclusion in the Work 1702 | by You to the Licensor shall be under the terms and conditions of 1703 | this License, without any additional terms or conditions. 1704 | Notwithstanding the above, nothing herein shall supersede or modify 1705 | the terms of any separate license agreement you may have executed 1706 | with Licensor regarding such Contributions. 1707 | 1708 | 6. Trademarks. This License does not grant permission to use the trade 1709 | names, trademarks, service marks, or product names of the Licensor, 1710 | except as required for reasonable and customary use in describing the 1711 | origin of the Work and reproducing the content of the NOTICE file. 1712 | 1713 | 7. Disclaimer of Warranty. Unless required by applicable law or 1714 | agreed to in writing, Licensor provides the Work (and each 1715 | Contributor provides its Contributions) on an "AS IS" BASIS, 1716 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 1717 | implied, including, without limitation, any warranties or conditions 1718 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 1719 | PARTICULAR PURPOSE. You are solely responsible for determining the 1720 | appropriateness of using or redistributing the Work and assume any 1721 | risks associated with Your exercise of permissions under this License. 1722 | 1723 | 8. Limitation of Liability. In no event and under no legal theory, 1724 | whether in tort (including negligence), contract, or otherwise, 1725 | unless required by applicable law (such as deliberate and grossly 1726 | negligent acts) or agreed to in writing, shall any Contributor be 1727 | liable to You for damages, including any direct, indirect, special, 1728 | incidental, or consequential damages of any character arising as a 1729 | result of this License or out of the use or inability to use the 1730 | Work (including but not limited to damages for loss of goodwill, 1731 | work stoppage, computer failure or malfunction, or any and all 1732 | other commercial damages or losses), even if such Contributor 1733 | has been advised of the possibility of such damages. 1734 | 1735 | 9. Accepting Warranty or Additional Liability. While redistributing 1736 | the Work or Derivative Works thereof, You may choose to offer, 1737 | and charge a fee for, acceptance of support, warranty, indemnity, 1738 | or other liability obligations and/or rights consistent with this 1739 | License. However, in accepting such obligations, You may act only 1740 | on Your own behalf and on Your sole responsibility, not on behalf 1741 | of any other Contributor, and only if You agree to indemnify, 1742 | defend, and hold each Contributor harmless for any liability 1743 | incurred by, or claims asserted against, such Contributor by reason 1744 | of your accepting any such warranty or additional liability. 1745 | 1746 | END OF TERMS AND CONDITIONS 1747 | 1748 | APPENDIX: How to apply the Apache License to your work. 1749 | 1750 | To apply the Apache License to your work, attach the following 1751 | boilerplate notice, with the fields enclosed by brackets "[]" 1752 | replaced with your own identifying information. (Don't include 1753 | the brackets!) The text should be enclosed in the appropriate 1754 | comment syntax for the file format. We also recommend that a 1755 | file or class name and description of purpose be included on the 1756 | same "printed page" as the copyright notice for easier 1757 | identification within third-party archives. 1758 | 1759 | Copyright [yyyy] [name of copyright owner] 1760 | 1761 | Licensed under the Apache License, Version 2.0 (the "License"); 1762 | you may not use this file except in compliance with the License. 1763 | You may obtain a copy of the License at 1764 | 1765 | http://www.apache.org/licenses/LICENSE-2.0 1766 | 1767 | Unless required by applicable law or agreed to in writing, software 1768 | distributed under the License is distributed on an "AS IS" BASIS, 1769 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1770 | See the License for the specific language governing permissions and 1771 | limitations under the License. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Dynamsoft Barcode Reader Samples for Python Edition 2 | 3 | [![Current version number](https://img.shields.io/pypi/v/dynamsoft_barcode_reader_bundle?color=orange)](https://pypi.org/project/dynamsoft_barcode_reader_bundle/) 4 | [![Supported Python versions](https://img.shields.io/badge/python-3.8%20%7C%203.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20%7C%203.13-blue)](https://www.python.org/downloads/) 5 | [![PyPI downloads](https://img.shields.io/pypi/dm/dynamsoft_barcode_reader_bundle)](https://pypistats.org/packages/dynamsoft_barcode_reader_bundle) 6 | 7 | ![Dynamsoft](https://dynamsoft.github.io/styleguide/assets/images/icons/dynamsoft_logos/dynamsoft_logo_original.png "Dynamsoft") 8 | 9 | ## Overview 10 | 11 | This repository contains multiple samples that demonstrate how to use the [Dynamsoft Barcode Reader](https://www.dynamsoft.com/barcode-reader/overview/) Python Edition. 12 | 13 | ## Requirements 14 | 15 | ### Supported Platforms 16 | - Windows x64 17 | - Linux (x64, ARM64) 18 | - macOS (10.15+) 19 | 20 | ### Supported Python Versions 21 | 22 | - Python 3.13 23 | - Python 3.12 24 | - Python 3.11 25 | - Python 3.10 26 | - Python 3.9 27 | - Python 3.8 28 | 29 | ## Installation 30 | 31 | ``` 32 | pip install dynamsoft_barcode_reader_bundle 33 | ``` 34 | 35 | or 36 | 37 | ``` 38 | pip3 install dynamsoft_barcode_reader_bundle 39 | ``` 40 | 41 | ## Samples 42 | 43 | ### Basic Barcode Reader Samples 44 | 45 | | Sample Name | Description | 46 | | ----------- | ----------- | 47 | | [`ReadAnImage`](Samples/read_an_image.py) | Shows the simplest way to read barcodes from an image file and output barcode format and text. | 48 | | [`ReadMultipleImages`](Samples/read_multiple_images.py) | Shows the simplest way to read barcodes from directory with image files and output barcode format and text. | 49 | | [`GeneralSettings`](Samples/general_settings.py) | Shows how to adjust general scan settings, e.g., barcode format, barcode count, scan region. | 50 | | [`ReadDPMBarcode`](Samples/read_dpm_barcode.py) | Shows how to read DPM (Direct Part Mark) barcodes. | 51 | | [`VideoDecoding`](Samples/video_decoding.py) | Shows how to decode barcodes from live video or video file. | 52 | | [`MultiFormatImageProcessing`](Samples/multi_format_image_processing.py) | Shows how to decode barcodes from various image format. | 53 | 54 | ### Additional Samples using Capture Vision SDK 55 | 56 | In addition to the classic barcode decoding samples listed above, the following samples go a step further by parsing the decoded results and showcasing more structured workflows. 57 | 58 | > [!IMPORTANT] 59 | > These samples use the `dynamsoft_capture_vision_bundle` package instead of `dynamsoft_barcode_reader_bundle`. If you're switching to these samples, make sure to install and use the correct package. 60 | 61 | | Sample Name | Description | 62 | | --- | --- | 63 | | [`DriverLicenseScanner`](https://github.com/Dynamsoft/capture-vision-python-samples/blob/main/Samples/driver_license_scanner.py) | Shows how to capture and extract user's information from driver license/ID. | 64 | | [`VINScanner`](https://github.com/Dynamsoft/capture-vision-python-samples/blob/main/Samples/vin_scanner.py) | Shows how to capture and extract vehicle's information from Vehicle Identification Number (VIN). | 65 | 66 | ## Documentation 67 | 68 | https://www.dynamsoft.com/barcode-reader/docs/server/programming/python/?ver=latest&utm_source=samples 69 | 70 | ## License 71 | 72 | The library requires a license to work, you use the API `LicenseManager.init_license` to initialize license key and activate the SDK. 73 | 74 | These samples use a free public trial license which require network connection to function. You can request a 30-day free trial license via the Request a Trial License link which works offline. 75 | 76 | ## Contact Us 77 | 78 | https://www.dynamsoft.com/company/contact/ 79 | -------------------------------------------------------------------------------- /Samples/ReadDPM.json: -------------------------------------------------------------------------------- 1 | { 2 | "CaptureVisionTemplates": [ 3 | { 4 | "Name": "ReadDPM", 5 | "ImageROIProcessingNameArray": [ 6 | "roi_read_dpm" 7 | ], 8 | "MaxParallelTasks": 0, 9 | "Timeout": 3000 10 | } 11 | ], 12 | "TargetROIDefOptions": [ 13 | { 14 | "Name": "roi_read_dpm", 15 | "TaskSettingNameArray": [ 16 | "task_read_dpm" 17 | ] 18 | } 19 | ], 20 | "BarcodeReaderTaskSettingOptions": [ 21 | { 22 | "Name": "task_read_dpm", 23 | "ExpectedBarcodesCount": 1, 24 | "BarcodeFormatIds": [ 25 | "BF_DATAMATRIX" 26 | ], 27 | "DPMCodeReadingModes": [ 28 | { 29 | "Mode": "DPMCRM_GENERAL" 30 | } 31 | ], 32 | "SectionArray": [ 33 | { 34 | "Section": "ST_REGION_PREDETECTION", 35 | "ImageParameterName": "ip_default", 36 | "StageArray": [ 37 | { 38 | "Stage": "SST_PREDETECT_REGIONS" 39 | } 40 | ] 41 | }, 42 | { 43 | "Section": "ST_BARCODE_LOCALIZATION", 44 | "ImageParameterName": "ip_default", 45 | "StageArray": [ 46 | { 47 | "Stage": "SST_LOCALIZE_CANDIDATE_BARCODES", 48 | "LocalizationModes": [ 49 | { 50 | "Mode": "LM_STATISTICS_MARKS" 51 | }, 52 | { 53 | "Mode": "LM_CONNECTED_BLOCKS" 54 | } 55 | ] 56 | }, 57 | { 58 | "Stage": "SST_LOCALIZE_BARCODES" 59 | } 60 | ] 61 | }, 62 | { 63 | "Section": "ST_BARCODE_DECODING", 64 | "ImageParameterName": "ip_default", 65 | "StageArray": [ 66 | { 67 | "Stage": "SST_RESIST_DEFORMATION" 68 | }, 69 | { 70 | "Stage": "SST_COMPLEMENT_BARCODE" 71 | }, 72 | { 73 | "Stage": "SST_SCALE_BARCODE_IMAGE" 74 | }, 75 | { 76 | "Stage": "SST_DECODE_BARCODES" 77 | } 78 | ] 79 | } 80 | ] 81 | } 82 | ] 83 | } -------------------------------------------------------------------------------- /Samples/general_settings.py: -------------------------------------------------------------------------------- 1 | import os 2 | from dynamsoft_barcode_reader_bundle import * 3 | if __name__ == "__main__": 4 | try: 5 | # 1. Initialize license. 6 | # The string "DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9" here is a free public trial license. Note that network connection is required for this license to work. 7 | # You can also request a 30-day trial license in the customer portal: https://www.dynamsoft.com/customer/license/trialLicense?product=dbr&utm_source=samples&package=python 8 | err_code, err_str = LicenseManager.init_license("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9") 9 | if err_code != EnumErrorCode.EC_OK and err_code != EnumErrorCode.EC_LICENSE_CACHE_USED: 10 | print("License initialization failed: ErrorCode:", err_code, ", ErrorString:", err_str) 11 | else: 12 | # 2. Create an instance of CaptureVisionRouter. 13 | cvr_instance = CaptureVisionRouter() 14 | 15 | # 3. General settings (including barcode format, barcode count and scan region) through SimplifiedCaptureVisionSettings 16 | # 3.1 Obtain current runtime settings of instance. 17 | err_code, err_str, settings = cvr_instance.get_simplified_settings(EnumPresetTemplate.PT_READ_BARCODES) 18 | 19 | # 3.2 Set the expected barcode format you want to read. 20 | settings.barcode_settings.barcode_format_ids = EnumBarcodeFormat.BF_PDF417 | EnumBarcodeFormat.BF_QR_CODE 21 | 22 | # 3.3 Set the expected barcode count you want to read. 23 | settings.barcode_settings.expected_barcodes_count = 10 24 | 25 | # 3.4 Set the grayscale transformation modes. 26 | settings.barcode_settings.grayscale_transformation_modes[0] = EnumGrayscaleTransformationMode.GTM_AUTO 27 | 28 | # 3.5 Set the ROI(region of interest) to speed up the barcode reading process. 29 | # Note: DBR supports setting coordinates by pixels or percentages. The origin of the coordinate system is the upper left corner point. 30 | settings.roi_measured_in_percentage = 1 31 | points = settings.roi.points 32 | points[0].x = 0 33 | points[0].y = 0 34 | points[1].x = 100 35 | points[1].y = 0 36 | points[2].x = 100 37 | points[2].y = 100 38 | points[3].x = 0 39 | points[3].y = 100 40 | 41 | # 3.6 Apply the new settings to the instance. 42 | err_code, err_str = cvr_instance.update_settings(EnumPresetTemplate.PT_READ_BARCODES, settings) 43 | if err_code != EnumErrorCode.EC_OK: 44 | print("Update settings failed: ErrorCode:", err_code, ", ErrorString:", err_str) 45 | # 4.Replace by your own image path 46 | image_path = os.path.dirname(os.path.abspath(__file__)) + os.path.sep + "../images/GeneralBarcodes.png" 47 | 48 | # 5.Decode barcodes from an image file. 49 | result_array = cvr_instance.capture_multi_pages(image_path, EnumPresetTemplate.PT_READ_BARCODES) 50 | 51 | # 6.Output the barcode text. 52 | results = result_array.get_results() 53 | if results is None or len(results) == 0: 54 | print("No barcode detected.") 55 | else: 56 | for result in results: 57 | if result.get_error_code() == EnumErrorCode.EC_UNSUPPORTED_JSON_KEY_WARNING: 58 | print("Warning:", result.get_error_code(), result.get_error_string()) 59 | elif result.get_error_code() != EnumErrorCode.EC_OK: 60 | print("Error:", result.get_error_code(), result.get_error_string()) 61 | 62 | barcode_result = result.get_decoded_barcodes_result() 63 | if barcode_result is None or barcode_result.get_items() == 0: 64 | print("No barcode detected.") 65 | else: 66 | items = barcode_result.get_items() 67 | print("Decoded", len(items), "barcodes.") 68 | for index,item in enumerate(items): 69 | print() 70 | print("Barcode", index) 71 | print("Barcode Format:", item.get_format_string()) 72 | print("Barcode Text:", item.get_text()) 73 | print() 74 | except Exception as e: 75 | print(e) 76 | -------------------------------------------------------------------------------- /Samples/multi_format_image_processing.py: -------------------------------------------------------------------------------- 1 | from dynamsoft_barcode_reader_bundle import * 2 | import cv2 3 | from PIL import Image 4 | import numpy as np 5 | if __name__ == "__main__": 6 | try: 7 | # 1.Initialize license. 8 | # The string "DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9" here is a free public trial license. Note that network connection is required for this license to work. 9 | # You can also request a 30-day trial license in the customer portal: https://www.dynamsoft.com/customer/license/trialLicense?product=dbr&utm_source=samples&package=python 10 | err_code, err_str = LicenseManager.init_license("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9") 11 | if err_code != EnumErrorCode.EC_OK and err_code != EnumErrorCode.EC_LICENSE_CACHE_USED: 12 | print("License initialization failed: ErrorCode:", err_code, ", ErrorString:", err_str) 13 | else: 14 | # 2. Create an instance of CaptureVisionRouter. 15 | cvr_instance = CaptureVisionRouter() 16 | options = [ 17 | "exit program", 18 | "decode with file", 19 | "decode with buffer", 20 | "decode with bytes", 21 | "decode with opencv", 22 | "decode with PIL", 23 | ] 24 | file_path = "../images/GeneralBarcodes.png" 25 | while True: 26 | # 3. Choose decode mode. 27 | for i, option in enumerate(options): 28 | print(f"{i}. {option}") 29 | choice = input("Enter your choice: ") 30 | if not choice.isdigit() or int(choice) >= len(options) or int(choice) < 0: 31 | print("Unsupported options.") 32 | continue 33 | if int(choice) == 0: 34 | break 35 | elif int(choice) == 1: 36 | #decode image with file path. 37 | image_data = file_path 38 | elif int(choice) == 2: 39 | #decode image with dynamsoft_barcode_reader_bundle.core.ImageData 40 | image_io = ImageIO() 41 | err, image_data = image_io.read_from_file(file_path) 42 | elif int(choice) == 3: 43 | #decode image with bytes 44 | image_data = open(file_path, "rb").read() 45 | elif int(choice) == 4: 46 | #decode image with opencv 47 | image_data = cv2.imread(file_path) 48 | elif int(choice) == 5: 49 | #decode image with PIL 50 | image = Image.open(file_path) 51 | image_data = np.array(image) 52 | else: 53 | raise ValueError("An unexpected value.") 54 | 55 | # 4. Decode barcodes from the image. 56 | captured_result = cvr_instance.capture(image_data,EnumPresetTemplate.PT_READ_BARCODES) 57 | 58 | # 5. Output the barcode result. 59 | if captured_result.get_error_code() == EnumErrorCode.EC_UNSUPPORTED_JSON_KEY_WARNING: 60 | print("Warning:", captured_result.get_error_code(), captured_result.get_error_string()) 61 | elif captured_result.get_error_code() != EnumErrorCode.EC_OK: 62 | print("Error:", captured_result.get_error_code(), captured_result.get_error_string()) 63 | 64 | barcode_result = captured_result.get_decoded_barcodes_result() 65 | if barcode_result is None or barcode_result.get_items() == 0: 66 | print("No barcode detected.") 67 | else: 68 | items = barcode_result.get_items() 69 | print("Decoded", len(items), "barcodes.") 70 | for index,item in enumerate(items): 71 | print("Result", index+1) 72 | print("Barcode Format:", item.get_format_string()) 73 | print("Barcode Text:", item.get_text()) 74 | 75 | print() 76 | except Exception as e: 77 | print(e) 78 | input("Press Enter to quit...") 79 | 80 | -------------------------------------------------------------------------------- /Samples/read_an_image.py: -------------------------------------------------------------------------------- 1 | from dynamsoft_barcode_reader_bundle import * 2 | import os 3 | if __name__ == '__main__': 4 | # 1. Initialize license. 5 | # You can request and extend a trial license from https://www.dynamsoft.com/customer/license/trialLicense?product=dbr&utm_source=samples&package=python 6 | # The string 'DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9' here is a free public trial license. Note that network connection is required for this license to work. 7 | errorCode, errorMsg = LicenseManager.init_license("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9") 8 | if errorCode != EnumErrorCode.EC_OK and errorCode != EnumErrorCode.EC_LICENSE_CACHE_USED: 9 | print("License initialization failed: ErrorCode:", errorCode, ", ErrorString:", errorMsg) 10 | else: 11 | # 2. Create an instance of CaptureVisionRouter. 12 | cvr_instance = CaptureVisionRouter() 13 | 14 | # 3. Replace by your own image path. 15 | image_path = os.path.dirname(os.path.abspath(__file__)) + os.path.sep + "../images/GeneralBarcodes.png" 16 | 17 | # 4. Decode barcodes from an image file. 18 | result_array = cvr_instance.capture_multi_pages(image_path, EnumPresetTemplate.PT_READ_BARCODES) 19 | 20 | # 5. Output the barcode text. 21 | results = result_array.get_results() 22 | if results is None or len(results) == 0: 23 | print("No barcode detected.") 24 | else: 25 | for i, result in enumerate(results): 26 | if result.get_error_code() == EnumErrorCode.EC_UNSUPPORTED_JSON_KEY_WARNING: 27 | print("Warning:", result.get_error_code(), result.get_error_string()) 28 | elif result.get_error_code() != EnumErrorCode.EC_OK: 29 | print("Error:", result.get_error_code(), result.get_error_string()) 30 | barcode_result = result.get_decoded_barcodes_result() 31 | if barcode_result is None or barcode_result.get_items() == 0: 32 | print("Page-"+str(i+1), "No barcode detected.") 33 | else: 34 | items = barcode_result.get_items() 35 | print("Page-"+str(i+1), "Decoded", len(items), "barcodes.") 36 | for index,item in enumerate(items): 37 | print("Result", index+1) 38 | print("Barcode Format:", item.get_format_string()) 39 | print("Barcode Text:", item.get_text()) 40 | print() 41 | input("Press Enter to quit...") -------------------------------------------------------------------------------- /Samples/read_dpm_barcode.py: -------------------------------------------------------------------------------- 1 | import os 2 | from dynamsoft_barcode_reader_bundle import * 3 | 4 | if __name__ == "__main__": 5 | try: 6 | # 1 Initialize license. 7 | # The string "DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9" here is a free public trial license. Note that network connection is required for this license to work. 8 | # You can also request a 30-day trial license in the customer portal: https://www.dynamsoft.com/customer/license/trialLicense?product=dbr&utm_source=samples&package=python 9 | errorCode, errorMsg = LicenseManager.init_license("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9") 10 | if errorCode != EnumErrorCode.EC_OK and errorCode != EnumErrorCode.EC_LICENSE_CACHE_USED: 11 | raise Exception("License initialization failed: ErrorCode: "+ str(errorCode) + ", ErrorString:" + errorMsg) 12 | else: 13 | cvr_instance = CaptureVisionRouter() 14 | template_path = os.path.dirname(os.path.abspath(__file__)) + os.path.sep +"ReadDPM.json" 15 | errorCode, errorMsg = cvr_instance.init_settings_from_file(template_path) 16 | if errorCode != EnumErrorCode.EC_OK: 17 | raise Exception("Init template failed: " + errorMsg) 18 | 19 | # 2 Replace with your own dpm barcode image path 20 | image_path = os.path.dirname(os.path.abspath(__file__)) + os.path.sep + "../images/DPM.png" 21 | 22 | # 3 Decode barcodes from the image file. 23 | result_array = cvr_instance.capture_multi_pages(image_path,"") 24 | 25 | # 4 Output the barcode format and barcode text. 26 | results = result_array.get_results() 27 | if results is None or len(results) == 0: 28 | print("No barcode detected.") 29 | else: 30 | for i, result in enumerate(results): 31 | if result.get_error_code() == EnumErrorCode.EC_UNSUPPORTED_JSON_KEY_WARNING: 32 | print("Warning:", result.get_error_code(), result.get_error_string()) 33 | elif result.get_error_code() != EnumErrorCode.EC_OK: 34 | print("Error:", result.get_error_code(), result.get_error_string()) 35 | 36 | barcode_result = result.get_decoded_barcodes_result() 37 | if barcode_result is None or barcode_result.get_items() == 0: 38 | print("Page-"+str(i+1), "No barcode detected.") 39 | else: 40 | items = barcode_result.get_items() 41 | print("Page-"+str(i+1), "Decoded", len(items), "barcodes.") 42 | for index,item in enumerate(items): 43 | print() 44 | print("Barcode", index) 45 | print("Barcode Format:", item.get_format_string()) 46 | print("Barcode Text:", item.get_text()) 47 | print() 48 | except Exception as e: 49 | print(e) -------------------------------------------------------------------------------- /Samples/read_multiple_images.py: -------------------------------------------------------------------------------- 1 | from dynamsoft_barcode_reader_bundle import * 2 | import os 3 | 4 | class MyCapturedResultReceiver(CapturedResultReceiver): 5 | 6 | def __init__(self) -> None: 7 | super().__init__() 8 | def on_decoded_barcodes_received(self, result: "DecodedBarcodesResult") -> None: 9 | tag = result.get_original_image_tag() 10 | if isinstance(tag, FileImageTag): 11 | print("File:", tag.get_file_path()) 12 | if result.get_error_code() == EnumErrorCode.EC_UNSUPPORTED_JSON_KEY_WARNING: 13 | print("Warning:", result.get_error_string()) 14 | elif result.get_error_code() != EnumErrorCode.EC_OK: 15 | print("Error:", result.get_error_string()) 16 | items = result.get_items() 17 | print("Detected", len(items), "barcodes.") 18 | for index, item in enumerate(items): 19 | print("Result", index+1) 20 | print("Barcode Format:", item.get_format_string()) 21 | print("Barcode Text:", item.get_text()) 22 | 23 | class MyImageSourceStateListener(ImageSourceStateListener): 24 | def __init__(self, cvr_instance:CaptureVisionRouter) -> None: 25 | super().__init__() 26 | self.cvr_instance = cvr_instance 27 | def on_image_source_state_received(self, state: int) -> None: 28 | if state == EnumImageSourceState.ISS_EXHAUSTED: 29 | if self.cvr_instance != None: 30 | self.cvr_instance.stop_capturing() 31 | if __name__ == '__main__': 32 | # Initialize license. 33 | # You can request and extend a trial license from https://www.dynamsoft.com/customer/license/trialLicense?product=dbr&utm_source=samples&package=python 34 | # The string 'DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9' here is a free public trial license. Note that network connection is required for this license to work. 35 | errorCode, errorMsg = LicenseManager.init_license("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9") 36 | if errorCode != EnumErrorCode.EC_OK and errorCode != EnumErrorCode.EC_LICENSE_CACHE_USED: 37 | print("License initialization failed: ErrorCode:", errorCode, ", ErrorString:", errorMsg) 38 | else: 39 | cvr_instance = CaptureVisionRouter() 40 | 41 | fetcher = DirectoryFetcher() 42 | fetcher.set_directory("../Images") 43 | cvr_instance.set_input(fetcher) 44 | 45 | receiver = MyCapturedResultReceiver() 46 | cvr_instance.add_result_receiver(receiver) 47 | 48 | listener = MyImageSourceStateListener(cvr_instance) 49 | cvr_instance.add_image_source_state_listener(listener) 50 | 51 | errorCode, errorMsg = cvr_instance.start_capturing(EnumPresetTemplate.PT_READ_BARCODES, True) 52 | if errorCode != EnumErrorCode.EC_OK: 53 | print("Error:", errorMsg) 54 | input("Press Enter to quit...") -------------------------------------------------------------------------------- /Samples/video_decoding.py: -------------------------------------------------------------------------------- 1 | from dynamsoft_barcode_reader_bundle import * 2 | import cv2 3 | import os 4 | class MyCapturedResultReceiver(CapturedResultReceiver): 5 | 6 | def __init__(self): 7 | super().__init__() 8 | 9 | def on_decoded_barcodes_received(self, result: DecodedBarcodesResult) -> None: 10 | if result.get_error_code() == EnumErrorCode.EC_UNSUPPORTED_JSON_KEY_WARNING: 11 | print("Warning:", result.get_error_string()) 12 | elif result.get_error_code() != EnumErrorCode.EC_OK: 13 | print("Error:", result.get_error_string()) 14 | items = result.get_items() 15 | if len(items) != 0: 16 | tag: ImageTag = result.get_original_image_tag() 17 | if tag is not None: 18 | print("ImageID:",tag.get_image_id()) 19 | print("Decoded", len(items), "barcodes.") 20 | for index,item in enumerate(items): 21 | print("Result", index+1) 22 | print("Barcode Format:", item.get_format_string()) 23 | print("Barcode Text:", item.get_text()) 24 | print() 25 | class MyVideoFetcher(ImageSourceAdapter): 26 | 27 | def __init__(self): 28 | super().__init__() 29 | 30 | def has_next_image_to_fetch(self) -> bool: 31 | return True 32 | 33 | def decode_video(use_video_file: bool = False, video_file_path: str = "") -> None: 34 | cvr_instance = CaptureVisionRouter() 35 | 36 | fetcher = MyVideoFetcher() 37 | fetcher.set_max_image_count(100) 38 | fetcher.set_buffer_overflow_protection_mode(EnumBufferOverflowProtectionMode.BOPM_UPDATE) 39 | fetcher.set_colour_channel_usage_type(EnumColourChannelUsageType.CCUT_AUTO) 40 | cvr_instance.set_input(fetcher) 41 | 42 | filter = MultiFrameResultCrossFilter() 43 | filter.enable_result_cross_verification(EnumCapturedResultItemType.CRIT_BARCODE, True) 44 | filter.enable_result_deduplication(EnumCapturedResultItemType.CRIT_BARCODE, True) 45 | filter.set_duplicate_forget_time(EnumCapturedResultItemType.CRIT_BARCODE, 5000) 46 | cvr_instance.add_result_filter(filter) 47 | 48 | receiver = MyCapturedResultReceiver() 49 | cvr_instance.add_result_receiver(receiver) 50 | 51 | error_code, error_msg = cvr_instance.start_capturing(EnumPresetTemplate.PT_READ_BARCODES, False) 52 | if error_code != EnumErrorCode.EC_OK: 53 | print("Error:", error_msg) 54 | else: 55 | video_width = 0 56 | video_height = 0 57 | vc: cv2.VideoCapture = None 58 | if not use_video_file: 59 | # a. Decode video from camera 60 | vc = cv2.VideoCapture(0) 61 | else: 62 | # # b. Decode video file 63 | vc = cv2.VideoCapture(video_file_path) 64 | 65 | video_width = int(vc.get(cv2.CAP_PROP_FRAME_WIDTH)) 66 | video_height = int(vc.get(cv2.CAP_PROP_FRAME_HEIGHT)) 67 | vc.set(3, video_width) #set width 68 | vc.set(4, video_height) #set height 69 | 70 | if not vc.isOpened(): 71 | cvr_instance.stop_capturing(False, True) 72 | return 73 | 74 | windowName = "Video Barcode Reader" 75 | 76 | image_id = 0 77 | while True: 78 | image_id += 1 79 | rval, frame = vc.read() 80 | if rval == False: 81 | break 82 | tag = FileImageTag("",0,0) 83 | tag.set_image_id(image_id) 84 | image = ImageData(frame.tobytes(), frame.shape[1], frame.shape[0], frame.strides[0], EnumImagePixelFormat.IPF_RGB_888, 0, tag) 85 | fetcher.add_image_to_buffer(image) 86 | cv2.imshow(windowName, frame) 87 | # 'ESC' for quit 88 | key = cv2.waitKey(1) 89 | if key == 27: 90 | break 91 | 92 | cvr_instance.stop_capturing(False, True) 93 | cv2.destroyWindow(windowName) 94 | 95 | def get_mode_and_path(): 96 | use_video_file = False 97 | video_file_path = "" 98 | while True: 99 | try: 100 | mode = int( 101 | input( 102 | ">> Choose a Mode Number:\n" 103 | "1. Decode video from camera.\n" 104 | "2. Decode video from file.\n" 105 | ">> 1 or 2:\n" 106 | )) 107 | if mode == 1 or mode == 2: 108 | if mode == 1: 109 | use_video_file = False 110 | break 111 | 112 | use_video_file = True 113 | while True: 114 | video_file_path = input(">> Input your video full path:\n").strip('\'"') 115 | if not os.path.exists(video_file_path): 116 | print("Error:File not found.\n") 117 | continue 118 | break 119 | break 120 | else: 121 | raise ValueError 122 | except ValueError: 123 | print("Error:Wrong input.\n") 124 | continue 125 | 126 | return use_video_file, video_file_path 127 | 128 | if __name__ == "__main__": 129 | 130 | print("-------------------start------------------------") 131 | 132 | try: 133 | # Initialize license. 134 | # The string "DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9" here is a free public trial license. Note that network connection is required for this license to work. 135 | # You can also request a 30-day trial license in the customer portal: https://www.dynamsoft.com/customer/license/trialLicense?product=dbr&utm_source=samples&package=python 136 | errorCode, errorMsg = LicenseManager.init_license("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9") 137 | if errorCode != EnumErrorCode.EC_OK and errorCode != EnumErrorCode.EC_LICENSE_CACHE_USED: 138 | print("License initialization failed: ErrorCode:", errorCode, ", ErrorString:", errorMsg) 139 | else: 140 | # Decode video from file or camera 141 | use_video_file, video_file_path = get_mode_and_path() 142 | decode_video(use_video_file, video_file_path) 143 | 144 | except Exception as e: 145 | print(e) 146 | 147 | print("-------------------over------------------------") -------------------------------------------------------------------------------- /images/AllSupportedBarcodeTypes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/AllSupportedBarcodeTypes.png -------------------------------------------------------------------------------- /images/BarcodeColorMode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/BarcodeColorMode.png -------------------------------------------------------------------------------- /images/BarcodeOrientation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/BarcodeOrientation.png -------------------------------------------------------------------------------- /images/BarcodeSizeAndModuleSize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/BarcodeSizeAndModuleSize.png -------------------------------------------------------------------------------- /images/BlurPhoto.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/BlurPhoto.jpg -------------------------------------------------------------------------------- /images/Code 128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/Code 128.png -------------------------------------------------------------------------------- /images/Code 39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/Code 39.png -------------------------------------------------------------------------------- /images/Code 93.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/Code 93.png -------------------------------------------------------------------------------- /images/DPM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/DPM.png -------------------------------------------------------------------------------- /images/DamagedBarcodes.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/DamagedBarcodes.tif -------------------------------------------------------------------------------- /images/DataMatrix.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/DataMatrix.tif -------------------------------------------------------------------------------- /images/EAN-13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/EAN-13.jpg -------------------------------------------------------------------------------- /images/EAN-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/EAN-8.jpg -------------------------------------------------------------------------------- /images/GS1 DataBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/GS1 DataBar.png -------------------------------------------------------------------------------- /images/GeneralBarcodes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/GeneralBarcodes.png -------------------------------------------------------------------------------- /images/Interleaved 2of 5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/Interleaved 2of 5.png -------------------------------------------------------------------------------- /images/MultiPage.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/MultiPage.pdf -------------------------------------------------------------------------------- /images/PDF417.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/PDF417.png -------------------------------------------------------------------------------- /images/PatchCode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/PatchCode.png -------------------------------------------------------------------------------- /images/Pharmacode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/Pharmacode.png -------------------------------------------------------------------------------- /images/PostalCode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/PostalCode.png -------------------------------------------------------------------------------- /images/QRCode.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/QRCode.tif -------------------------------------------------------------------------------- /images/QRCode_Variant_Size_Rotate.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/QRCode_Variant_Size_Rotate.tif -------------------------------------------------------------------------------- /images/UPC-A.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/UPC-A.jpg -------------------------------------------------------------------------------- /images/UPC-E.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/UPC-E.jpg -------------------------------------------------------------------------------- /images/codabar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/codabar.jpg -------------------------------------------------------------------------------- /images/dpm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/dpm.jpg -------------------------------------------------------------------------------- /images/industrial 2 of 5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dynamsoft/barcode-reader-python-samples/4322a46941dc3eac4645d29484d31387b2e79816/images/industrial 2 of 5.gif --------------------------------------------------------------------------------