首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将药码添加到PyZbar

将药码添加到PyZbar
EN

Stack Overflow用户
提问于 2020-09-19 04:47:09
回答 1查看 171关注 0票数 0

我有一份药房的检验申请书。我需要使用OpenCV检查标签上的批号和药品。我想过使用PyZbar,但它不支持药码。如何向PyZbar中添加更多代码,如Pharmacode?

非常感谢

EN

回答 1

Stack Overflow用户

发布于 2020-09-21 10:39:08

药码(也称为code32)被实现为使用基数-32“压缩方案”的code39。因此,您可以使用PyZbar,因为您将从库中获得code39解码,然后必须将值从base-32转换为base-10。

请注意,无法知道code39“读取”实际上是code32还是普通的code39。

这是一些将code39值转换为其原始code32字符串的javascript:

代码语言:javascript
复制
// code32 radix set (missing the vowels AEIO)
const code32set = '0123456789BCDFGHJKLMNPQRSTUVWXYZ';
function code39toCode32(val) {
    if (/[^0-9BCDFGHJKLMNPQRSTUVWXYZ]/.test(val)) {
        throw new Error("Not code32");
    }
    let res = 0;
    for (let i = 0; i < val.length; i++) {
        res = res * 32 + code32set.indexOf(val[i]);
    }
    let code32 = '' + res;
    if (code32.length < 9) {
        code32 = ('000000000' + code32).slice(-9);
    }
    return code32;
}

该函数应该可以很容易地转换为python。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63962650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档