ZBar Bar Code Reader is an open source software suite for reading bar codes from various sources

Related tags

Graphics ZBar
Overview
ZBAR BAR CODE READER
====================

ZBar Bar Code Reader is an open source software suite for reading bar
codes from various sources, such as video streams, image files and raw
intensity sensors. It supports EAN-13/UPC-A, UPC-E, EAN-8, Code 128,
Code 39, Codabar, Interleaved 2 of 5 and QR Code.  Included with the
library are basic applications for decoding captured bar code images and
using a video device (eg, webcam) as a bar code scanner.  For application
developers, language bindings are included for C, C++, Python and Perl
as well as GUI widgets for Qt, GTK and PyGTK.

Check the ZBar home page for the latest release, mailing lists, etc.
    http://zbar.sourceforge.net/

License information can be found in 'COPYING'.


BUILDING
========

See 'INSTALL' for generic configuration and build instructions.

The scanner/decoder library itself only requires a few standard
library functions which should be avilable almost anywhere.

The zbarcam program uses the video4linux API (v4l1 or v4l2) to access
the video device.  This interface is part of the linux kernel, a 2.6
kernel is recommended for full support.  More information is available
at
    http://www.linuxtv.org/wiki/

pkg-config is used to locate installed libraries.  You should have
installed pkg-config if you need any of the remaining components.
pkg-config may be obtained from
    http://pkg-config.freedesktop.org/

The zbarimg program uses ImageMagick to read image files in many
different formats.  You will need at least ImageMagick version 6.2.6
if you want to scan image files.  ImageMagick may be obtained from
    http://www.imagemagick.org/

The Qt widget requires Qt4.  You will need Qt4 if you would like to
use or develop a Qt GUI application with an integrated bar code
scanning widget.  Qt4 may be obtained from
    http://qt.nokia.com/products

The GTK+ widget requires GTK+-2.x.  You will need GTK+ if you would
like to use or develop a GTK+ GUI application with an integrated bar
code scanning widget.  GTK+ may be obtained from
    http://www.gtk.org/

The PyGTK wrapper for the GTK+ widget requires Python and PyGTK.  You
will need both if you would like to use or develop a PyGTK GUI
application with an integrated bar code scanning widget.  PyGTK may be
obtained from
    http://www.pygtk.org/

The Python bindings require Python (version?).  You will need Python
if you would like to scan images or video directly using Python.
Python is available from
    http://python.org/

The Perl bindings require Perl (version?).  You will need Perl if you
would like to scan images or video directly using Perl.  Perl is
available from
    http://www.perl.org/

If required libraries are not available you may disable building for
the corresponding component using configure (see configure --help).

The Perl bindings must be built separately after installing the
library.  see
    perl/README


RUNNING
=======

'make install' will install the library and application programs.  Run
'zbarcam' to start the video scanner.  use 'zbarimg barcode.jpg' to
decode a saved image file.  Check the manual to find specific options
for each program.


REPORTING BUGS
==============

Bugs can be reported on the sourceforge project page
    http://www.sourceforge.net/projects/zbar/

Please include the ZBar version number and a detailed description of
the problem.  You'll probably have better luck if you're also familiar
with the concepts from:
    http://www.catb.org/~esr/faqs/smart-questions.html
Issues
  • Fix memory leak of view.

    Fix memory leak of view.

    This memory leak caused the AV capture system to create potentially hundreds of megabytes of notification objects after only a handful of scans. Easy fix.

    opened by mattconnolly 3
  • Wrap logical not operations into parentheses

    Wrap logical not operations into parentheses

    Otherwise it fails like this:

    zbar/decoder/ean.c: In function 'ean_part_end4': zbar/decoder/ean.c:297:13: error: logical not is only applied to the left hand side of comparison [-Werror=logical-not-parentheses] if(!par == fwd) {

    Signed-off-by: Vicente Olivert Riera [email protected]

    opened by vincent-olivert-riera 2
  • Add cmake conan support

    Add cmake conan support

    This PR adds support for building the QR code part of ZBar with cmake. Additionally, a conan recipe and a test package were included.

    The build and the recipe were tested in Ubuntu 18.04, with C compiler GNU 7.4.0.

    opened by imrodriguezro 0
  • how can i get the CMakeLists.txt,thank you

    how can i get the CMakeLists.txt,thank you

    i want to compile it by myself with cmake-gui,but i found that the CMakeLists.txt is deficiency,thus i can not generate the .sln flie, so...how do you make it ,could you tell me the detail,thank you

    opened by mathCrazyy 0
  • Create SECURITY.md

    Create SECURITY.md

    I'd like to report a security issue but cannot find contact instructions on your repository.

    If not a hassle, might you kindly add a SECURITY.md file with an email, or another contact method? GitHub recommends this best practice to ensure security issues are responsibly disclosed, and it would serve as a simple instruction for security researchers in the future.

    Thank you for your consideration!

    opened by zidingz 1
  • Replace UIWebView with WKWebView

    Replace UIWebView with WKWebView

    As UIWebView is deprecated, Apple will stop accepting apps using UIWebView. So need to migrate to WKWebView. Ref: https://developer.apple.com/news/?id=12232019b

    opened by anupambiswal 8
  • segfault at zbar_image_convert  if cross compile without libjpeg

    segfault at zbar_image_convert if cross compile without libjpeg

    I cross compile libzbar, include config.h.

    SIGSEGV caught, and It took some time to figure it out.

    However it's not always easy to figure it out in some embedded system, toolchain included gdb in embedded system sometimes not works well as Linux/Unix/Darwin. For example, I can't list source of current file or function in my arm-linux device, even make with the option -g -O0 -rdynamic, and sometimes addr2line works not as well. And no execinfo.h, I can't backtrace with uclibc, I caught SIGSEGV but didn't know segment fault at where, which function, which line.

    Another significant influence is that program will abort if segment fault occur. It sounds unreasonable in multithread environment.

    I finally found sefault at zbar_image_convert_resize .

    I cross compile without libjpeg, no -ljpeg.

    I scan jpeg image, conversions[ZBAR_FMT_JPEG][ZBAR_FMT_GRAY].func will be NULL, not _zbar_convert_jpeg_to_y callback.

    I print the value with gdb

    (gdb) p conversions
    $33 = {{{cost = 0, func = 0xb6cf3384 <convert_copy>}, {cost = 8, func = 0xb6cf3500 <convert_uvp_append>}, {cost = 24, func = 0xb6cf2114 <convert_yuv_pack>}, {cost = 32, 
          func = 0xb6cf2418 <convert_yuvp_to_rgb>}, {cost = 8, func = 0xb6cf3500 <convert_uvp_append>}, {cost = -1, func = 0x0}}, {{cost = 1, func = 0xb6cf3384 <convert_copy>}, {cost = 48, 
          func = 0xb6cf28e4 <convert_uvp_resample>}, {cost = 64, func = 0xb6cf2114 <convert_yuv_pack>}, {cost = 128, func = 0xb6cf2418 <convert_yuvp_to_rgb>}, {cost = 40, 
          func = 0xb6cf3500 <convert_uvp_append>}, {cost = -1, func = 0x0}}, {{cost = 24, func = 0xb6cf2ae0 <convert_yuv_unpack>}, {cost = 52, func = 0xb6cf2ae0 <convert_yuv_unpack>}, {cost = 20, 
          func = 0xb6cf2c70 <convert_uv_resample>}, {cost = 144, func = 0xb6cf2630 <convert_yuv_to_rgb>}, {cost = 18, func = 0xb6cf2ae0 <convert_yuv_unpack>}, {cost = -1, func = 0x0}}, {{cost = 112, 
          func = 0xb6cf2e3c <convert_rgb_to_yuvp>}, {cost = 160, func = 0xb6cf2e3c <convert_rgb_to_yuvp>}, {cost = 144, func = 0xb6cf30dc <convert_rgb_to_yuv>}, {cost = 120, 
          func = 0xb6cf1e70 <convert_rgb_resample>}, {cost = 152, func = 0xb6cf2e3c <convert_rgb_to_yuvp>}, {cost = -1, func = 0x0}}, {{cost = 1, func = 0xb6cf3384 <convert_copy>}, {cost = 8, 
          func = 0xb6cf3500 <convert_uvp_append>}, {cost = 24, func = 0xb6cf2114 <convert_yuv_pack>}, {cost = 32, func = 0xb6cf2418 <convert_yuvp_to_rgb>}, {cost = 8, 
          func = 0xb6cf3500 <convert_uvp_append>}, {cost = -1, func = 0x0}}, {{cost = -1, func = 0x0}, {cost = -1, func = 0x0}, {cost = -1, func = 0x0}, {cost = -1, func = 0x0}, {cost = -1, func = 0x0}, {
          cost = -1, func = 0x0}}}
    (gdb) p conversions[5][0]
    $32 = {cost = -1, func = 0x0}
    

    suggest

    if (NULL == func){
            return (NULL);
    }
    else{
           func(dst, dstfmt, src, srcfmt);
    }
    

    so people will handle the error if zbar_image_convert failed, without bothering another thread. NULL returned if NULL == func, we can quickly know the problem and do the error handle.

    And I will add #define HAVE_LIBJPEG 1, #define HAVE_JPEGLIB_H 1, and -ljpeg latter.

    opened by kgbook 0
Single header KTX/DDS reader

dds-ktx: Portable single header DDS/KTX reader for C/C++ @septag Parses from memory blob. No allocations No dependencies Single-header for easy integr

Sepehr Taghdisian 83 Apr 24, 2022
Source Codes for Codimensional Incremental Potential Contact (C-IPC)

Source Codes for Codimensional Incremental Potential Contact (C-IPC) Reference This repository provides source code for: Minchen Li, Danny M. Kaufman,

null 81 May 9, 2022
Source Codes for Injective Deformation Processing (IDP) with Incremental Potential Contact (IPC)

Source Codes for Injective Deformation Processing Reference This repository provides source code for: Yu Fang*, Minchen Li* (equal contribution), Chen

null 32 May 10, 2022
Dust3D is a cross-platform open-source 3D modeling software

Dust3D is a cross-platform open-source 3D modeling software. Auto UV unwrapping, auto rigging with PBR Material support, pose and motion authoring all in one.

Jeremy HU 2.4k May 11, 2022
C++ (with python bindings) library for easily reading/writing/manipulating common animation particle formats such as PDB, BGEO, PTC. See the discussion group @ http://groups.google.com/group/partio-discuss

Partio - A library for particle IO and manipulation This is the initial source code release of partio a tool we used for particle reading/writing. It

Walt Disney Animation Studios 397 May 17, 2022
This module is a simple, lightweight and flexible way to generate QR codes in Godot

QRCodeTexture Godot Module Summary This module is a simple, lightweight and flexible way to generate QR codes in Godot. It provides a new type of text

Ben Armstrong 15 Mar 30, 2022
A basic 3D scene implemented with various engines, frameworks or APIs.

Here be dragons Hic sunt dracones. This repository contains multiple implementations of the same 3D scene, using different APIs and frameworks on vari

Simon Rodriguez 1.6k May 12, 2022
A personal project that uses DX12 to implement various render techniques to ultimately create breathtaking real-time visuals

D3D12Playground (Real Time) A personal project that uses DX12 to implement various render techniques to ultimately create breathtaking real-time visua

null 3 Apr 27, 2022
Open 3D Engine (O3DE) is an Apache 2.0-licensed multi-platform AAA Open 3D Engine

Open 3D Engine (O3DE) is an Apache 2.0-licensed multi-platform 3D engine that enables developers and content creators to build AAA games, cinema-quality 3D worlds, and high-fidelity simulations without any fees or commercial obligations.

O3DE 4.8k May 18, 2022
An Open-Source subdivision surface library.

OpenSubdiv OpenSubdiv is a set of open source libraries that implement high performance subdivision surface (subdiv) evaluation on massively parallel

Pixar Animation Studios 2.6k May 12, 2022
An open-source implementation of Autodesk's FBX

SmallFBX An open-source implementation of Autodesk's FBX that is capable of import & export mesh, blend shape, skin, and animations. Mainly intended t

Seiya Ishibashi 38 May 1, 2022
The open-source tool for creating of 3D models

The open-source tool for creating of 3D models

3D geoinformation research group at TU Delft 385 May 13, 2022
StereoKit is an easy-to-use open source mixed reality library for building HoloLens and VR applications with C# and OpenXR!

StereoKit is an easy-to-use open source mixed reality library for building HoloLens and VR applications with C# and OpenXR! Inspired by libraries like XNA and Processing, StereoKit is meant to be fun to use and easy to develop with, yet still quite capable of creating professional and business ready software.

Nick Klingensmith 383 May 11, 2022
OpenCorr is an open source C++ library for development of 2D, 3D/stereo, and volumetric digital image correlation

OpenCorr OpenCorr is an open source C++ library for development of 2D, 3D/stereo, and volumetric digital image correlation. It aims to provide a devel

Zhenyu Jiang 38 May 6, 2022
Open source Altium Database Library with over 147,000 high quality components and full 3d models.

Open source Altium Database Library with over 147,000 high quality components and full 3d models.

Mark 1.2k May 9, 2022
Vizzu is a free, open-source Javascript/C++ library for animated data visualizations and data stories.

Vizzu is a free, open-source Javascript/C++ library utilizing a generic dataviz engine that generates many types of charts and seamlessly animates between them

Vizzu 1.5k May 11, 2022
Tesseract Open Source OCR Engine (main repository)

Tesseract OCR Table of Contents Tesseract OCR About Brief history Installing Tesseract Running Tesseract For developers Support License Dependencies L

null 45.2k May 15, 2022
A completely free, open-source, 2D game engine built on proven torque technology.

Torque2D 4.0 Early Access 1 MIT Licensed Open Source version of Torque2D from GarageGames. Maintained by the Torque Game Engines team and contribution

Torque Game Engines 465 May 16, 2022
Open-Source Vulkan C++ API

Vulkan-Hpp: C++ Bindings for Vulkan The goal of the Vulkan-Hpp is to provide header only C++ bindings for the Vulkan C API to improve the developers V

The Khronos Group 2.2k May 12, 2022