标签: zbar

如何在(最好是纯粹的)Python中解码QR码图像?

TL; DR:我需要一种方法来解码使用(最好是纯粹的)Python的图像文件中的QR码.

我有一个带有QR码的jpg文件,我想用Python解码.我找到了几个声称这样做的图书馆:

PyQRCode(这里的网站)据说可以通过简单地提供这样的路径来解码图像中的qr代码:

import sys, qrcode
d = qrcode.Decoder()
if d.decode('out.png'):
    print 'result: ' + d.result
else:
    print 'error: ' + d.error
Run Code Online (Sandbox Code Playgroud)

所以我只是使用它安装它sudo pip install pyqrcode.然而,我对上面的示例代码感到奇怪的是,它只导入qrcode(而不是导入pyqrcode)因为我认为qrcode引用这个只能生成 qr代码图像的,这让我很困惑.所以,我想上面两个密码pyqrcodeqrcode,但双方未能在第二条线的说法AttributeError: 'module' object has no attribute 'Decoder'.此外,该网站是指Ubuntu 8.10(超过6年前推出),我找不到它的公共(git或其他)存储库来检查最新的提交.所以我转到了下一个图书馆:

ZBar(这里的网站)声称是,"an open source software suite for reading bar codes from various sources, such as image files." …

python decode qr-code zxing zbar

72
推荐指数
6
解决办法
9万
查看次数

将openCV图像转换为Python中的PIL图像(用于Zbar库)

我正试图在我用OpenCV的相机方法提取的图像上使用Zbar库的QR码检测方法.通常,QR码检测方法可以在我的计算机上使用图像(jpg,png等),但我猜测OpenCV的捕获帧是不同的.
有没有办法将捕获的帧变成PIL图像?

谢谢.

from PIL import Image
import zbar
import cv2.cv as cv

capture = cv.CaptureFromCAM(1)
imgSize = cv.GetSize(cv.QueryFrame(capture))
img = cv.QueryFrame(capture)

#SOMETHING GOES HERE TO TURN FRAME INTO IMAGE
img = img.convert('L')
width, height = img.size

scanner = zbar.ImageScanner()
scanner.parse_config('enable')
zbar_img = zbar.Image(width, height, 'Y800', img.tostring())

# scan the image for barcodes
scanner.scan(zbar_img)

for symbol in zbar_img:
    print symbol.data
Run Code Online (Sandbox Code Playgroud)

python opencv python-imaging-library zbar

31
推荐指数
2
解决办法
4万
查看次数

随着Zxing退休iOS,哪个条码扫描器切换到?

我已经在我的iOS应用程序中实现了ZXing,但是我怀疑它的可维护性,因为不久前它宣布ZXing到iOS即将退休:

退出C++,Objective C代码

我还读到可能与新手机iPhone 5S存在兼容性问题.

在Zxing-library上运行Xcode的静态代码分析也会发现内存错误,我不确定这些错误是否是误报,但它们让我更加怀疑Zxing.此外,与其他条码扫描仪相比,Zxing的性能低于其他条码.

所以我的问题是,最好的选择是什么?我听到很多关于Zbar的好东西,但是我不确定它是如何更新的.

barcode-scanner zxing ios zbar

16
推荐指数
1
解决办法
3万
查看次数

Zbar + python,导入时崩溃(OSX 10.9.1)

我试图安装Zbar与python 2.7.6一起使用Homebrew和pip(brew install zbar,然后pip install zbar),但每次我导入它时,python都会崩溃.只需运行:

#!/usr/bin/python

import zbar
Run Code Online (Sandbox Code Playgroud)

从终端登陆我:

:~ aj$ cd '/Users/aj/Documents/nlcc/check in/python/' && '/usr/bin/python'
'/Users/aj/Documents/nlcc/check in/python/test.py' 
&& echo Exit status: $? && exit 1
Segmentation fault: 11
Run Code Online (Sandbox Code Playgroud)

其他模块(wxPython,Numpy,openCV)工作得很好,但是这个模块每次都给我带来同样的崩溃.我已经尝试从源代码编译和安装zbar,认为它可能是Homebrew(或者甚至是pip)的一个问题,但是它有一系列问题,这些问题非常老实(即在运行后丢失了一个dylib).配置选项,然后配置开发人员的setup.py).有人有主意吗?很抱歉,如果我错过任何相关信息,如果有人想要任何其他日志,请告诉我如何检索它们,我会尽快发布它们,就像我说的那样,很多都是我的头.

python zbar osx-mavericks

16
推荐指数
1
解决办法
5315
查看次数

如何在Gradle中更改libs目录?

我想将Zbar集成到我的应用程序中,但似乎无法弄清楚如何使用新的Android Studio完成此任务.

我已经查看了示例,并且没有任何问题地复制了代码.我遇到的问题是将libs添加到我的项目中我似乎无法弄清楚如何做到这一点.有人可以带我走过吗?

android gradle zbar android-studio android-gradle-plugin

12
推荐指数
2
解决办法
3万
查看次数

如何改变扫描Zbar的面积?

我想改变相机扫描的区域.现在我拍摄的图像与设备屏幕一样大.我正在尝试裁剪图像进行分析.因此,预览中心将是扫描源.是否有任何选项可以将捕获的预览设置得更小或从byte []数据创建Bitmap并裁剪它是获得更小区域的唯一方法?我试图阅读有关它的内容,但Zbar Android的文档非常差(与iOS相比).

请点击这里:https: //postimg.cc/image/4wk4u0mln/

主要活动

public class MainActivity extends Activity
{
    private Camera mCamera;
    private Context context;
    private CameraPreview mPreview;
    private Handler autoFocusHandler;

    TextView scanText;
    Button scanButton;

    ImageScanner scanner;
    private PowerManager.WakeLock wl;

    private boolean barcodeScanned = false;
    private boolean previewing = true;

    static {
        System.loadLibrary("iconv");
    } 

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);



        setContentView(R.layout.activity_main);

        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

        autoFocusHandler = new Handler();
        mCamera = getCameraInstance();


        context = getApplicationContext();

        /* Instance barcode scanner */
        scanner = new ImageScanner();

        scanner.setConfig(0, Config.X_DENSITY, 3); …
Run Code Online (Sandbox Code Playgroud)

android barcode barcode-scanner zbar-sdk zbar

12
推荐指数
1
解决办法
8711
查看次数

Gradle无法解决外部依赖性问题

由于某些未知原因,Gradle拒绝下载我放在gradle.build文件中的所有依赖项.我试图获得'me.dm7.barcodescanner:zbar:1.7'的依赖性,但每次我尝试同步我的gradle它只会给我以下错误:

Error:(6, 13) Failed to resolve: me.dm7.barcodescanner:zbar:1.7
Run Code Online (Sandbox Code Playgroud)

它不仅仅是zbar库,它的每个库都不是com.android库.我不是处于离线模式,所以也不可能.我的.build文件中有什么问题吗?

apply plugin: 'com.android.application'

dependencies {
    compile fileTree(include: '*.jar', dir: 'libs')
    compile project(':MetaioSDK')
    compile 'com.android.support:support-v4:22.0.0'
    compile 'me.dm7.barcodescanner:zbar:1.7'
}

android {
    compileSdkVersion 19
    buildToolsVersion "21.1.0"

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['../../templatesContent_crossplatform']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This …
Run Code Online (Sandbox Code Playgroud)

android gradle zbar

11
推荐指数
1
解决办法
9618
查看次数

Zbar集成到Android应用程序中

我正在使用Android ADT Bundle进行开发工作.在线阅读了多个指南后,我将com.dm.zbar.android.scanner软件包添加到了我的项目中.我在包中包含了CameraPreview.java,ZBarConstants.java和ZBarScannerActivity.java文件.尽管如此,类ScanActivity.java中的ZBAR_SCANNER_REQUEST var(由我创建,但使用zbar方法)无法解析为变量.接受除此变量之外的所有内容.知道为什么会这样吗?注意:我的libs文件夹包含此处的所有内容:

https://github.com/DushyanthMaguluru/ZBarScanner/tree/master/ZBarScannerLibrary/libs

和zbar.jar包含在构建路径中.

ScanActivity:

package com.xx.xxx;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.view.Menu;
import android.view.View;
import android.widget.Toast;
import com.dm.zbar.android.scanner.ZBarConstants;
import com.dm.zbar.android.scanner.ZBarScannerActivity;
import net.sourceforge.zbar.Symbol;

public class ScanActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_scan);
}

public void launchScanner(View v) {
    if (isCameraAvailable()) {
        Intent intent = new Intent(this, ZBarScannerActivity.class);
        startActivityForResult(intent, ZBAR_SCANNER_REQUEST);
    } else {
        Toast.makeText(this, "Rear Facing Camera Unavailable", Toast.LENGTH_SHORT).show();
    }
}

public void launchQRScanner(View v) {
    if (isCameraAvailable()) {
        Intent …
Run Code Online (Sandbox Code Playgroud)

import android zbar

9
推荐指数
1
解决办法
3万
查看次数

在gradle中使用目标sdk版本23时,ZBAR条形码扫描库无法正常工作

我在我的项目中使用zbar扫描程序库.更新到sdk 23后,Marshmallow扫描仪无法正常工作.以下是gradle文件.如果我将targetSdkVersion设置为23以外的任何东西,扫描仪正在工作.

以下是gradle文件:

    apply plugin: 'com.android.application'

    android {
    compileSdkVersion 15
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "net.sourceforge.zbar.android.CameraTest"
        minSdkVersion 9
        targetSdkVersion 23
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'),  'proguard-rules.txt'
        }
    }
  }

 dependencies {
    compile files('libs/zbar.jar')
 }
Run Code Online (Sandbox Code Playgroud)

以下是我获得异常日志的唯一一行:

10-15 21:19:00.682 7719-7719/? E/AndroidRuntime: FATAL EXCEPTION: main
10-15 21:19:00.682 7719-7719/? E/AndroidRuntime: Process: net.sourceforge.zbar.android.CameraTest, PID: 7719
10-15 21:19:00.682 7719-7719/? E/AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/net.sourceforge.zbar.android.CameraTest-2/lib/arm/libiconv.so: has text relocations
10-15 21:19:00.682 7719-7719/? E/AndroidRuntime:     at java.lang.Runtime.loadLibrary(Runtime.java:372)
10-15 21:19:00.682 7719-7719/? E/AndroidRuntime:     at java.lang.System.loadLibrary(System.java:1076) …
Run Code Online (Sandbox Code Playgroud)

sdk android zbar-sdk zbar android-6.0-marshmallow

9
推荐指数
1
解决办法
5148
查看次数

(MacBook M1):raise ImportError('无法找到 zbar 共享库') ImportError: 无法找到 zbar 共享库

Mac OS X:

brew install zbar 

Run Code Online (Sandbox Code Playgroud)

安装这个Python包装器;使用第二种形式安装命令行脚本的依赖项:

pip install pyzbar

Run Code Online (Sandbox Code Playgroud)

我尝试了这些步骤,但仍然收到以下错误

File "/Users/something/opt/anaconda3/envs/muenv/lib/python3.8/site-packages/pyzbar/wrapper.py", line 136, in zbar_function
    return prototype((fname, load_libzbar()))
  File "/Users/something/opt/anaconda3/envs/muenv/lib/python3.8/site-packages/pyzbar/wrapper.py", line 115, in load_libzbar
    libzbar, dependencies = zbar_library.load()
  File "/Users/something/opt/anaconda3/envs/muenv/lib/python3.8/site-packages/pyzbar/zbar_library.py", line 65, in load
    raise ImportError('Unable to find zbar shared library')
ImportError: Unable to find zbar shared library
Run Code Online (Sandbox Code Playgroud)

python zbar python-3.8

9
推荐指数
1
解决办法
5027
查看次数