仅在Python中将Zbar限制为QR码

时间:2017-03-21 16:17:25

标签: python qr-code zbar

我在Python中使用Zbar和它的处理器选项。我一直在试图弄清楚如何将符号系统限制为QR码,但只能找到C的答案:

scanner = new ImageScanner();
scanner.setConfig(Symbol.QRCODE, Config.ENABLE, 1);

据我所知,原始代码是为C编写的,但无论如何都要在Python中使用它? Python不是我的主要语言,对于processor.parse_config()(我目前设置为'enable')来说,理解这种情况下的参数有点困难:

来自https://github.com/npinchot/zbar/blob/master/processor.c

static PyObject*
processor_parse_config (zbarProcessor *self,
                    PyObject *args,
                    PyObject *kwds)
{
    const char *cfg = NULL;
    static char *kwlist[] = { "config", NULL };
    if(!PyArg_ParseTupleAndKeywords(args, kwds, "s", kwlist, &cfg))
        return(NULL);

    if(zbar_processor_parse_config(self->zproc, cfg)) {
        PyErr_Format(PyExc_ValueError, "invalid configuration setting: %s",
                 cfg);
        return(NULL);
    }
    Py_RETURN_NONE;
}

我甚至不明白为什么'enable'是一个有效的论据。

1 个答案:

答案 0 :(得分:0)

花些时间弄清楚这一点,因为没有文档,而且IMO的配置格式是违反直觉的,但是您可以这样做:

proc.parse_config('disable')
proc.parse_config('qrcode.enable')

第一行disable禁用所有扫描仪。 第二行启用qrcode扫描程序。