将 Zbar 限制为二维码 Python
Limit Zbar to QR code only in Python
我在 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' 是一个有效的论点。
我花了一些时间来解决这个问题,因为没有文档而且配置格式是违反直觉的,IMO,但是你开始吧:
proc.parse_config('disable')
proc.parse_config('qrcode.enable')
第一行,disable
,禁用所有个扫描器。
第二行启用二维码扫描器。
我在 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' 是一个有效的论点。
我花了一些时间来解决这个问题,因为没有文档而且配置格式是违反直觉的,IMO,但是你开始吧:
proc.parse_config('disable')
proc.parse_config('qrcode.enable')
第一行,disable
,禁用所有个扫描器。
第二行启用二维码扫描器。