小肠炖什么好吃又营养| 丙肝抗体阳性是什么意思呢| 湖北有什么好玩的| gp是什么的缩写| 来月经腰疼是什么原因| 耳堵耳闷是什么原因| 新鲜的乌梅长什么样| 血清铁低是什么原因| 鸡生肖配什么生肖最好| 血粘稠吃什么药最好| 在什么的前面用英语怎么说| 慢性非萎缩性胃炎伴糜烂是什么意思| 黄芪长什么样| 出去旅游需要带什么| 身份证x代表什么| 怀孕第一个月有什么特征| 胆囊炎吃什么水果好| 腰肌劳损挂什么科| 逆袭什么意思| 10月11是什么星座| 治安大队是干什么的| 左侧附件区囊性回声是什么意思| 田七与三七有什么区别| 牛标志的车是什么牌子| 玉字是什么结构| 梦见老人死了又活了是什么意思| 经常性头疼是什么原因| 朝拜的意思是什么| 梦见自己光脚走路是什么意思| 总胆红素偏高是什么意思| 政绩是什么意思| puma是什么牌子| 玄孙是什么意思| 巴士是什么意思| 社保缴费基数是什么意思| 什么人不能喝大麦茶| 梦见怀孕是什么征兆| 护照办理需要什么材料| 小针刀是什么手术| 野猫吃什么| 火车票改签是什么意思| doris什么意思| 口上长水泡是什么原因| 12月23日是什么星座| 红茶属于什么茶| 身上没长什么就是干痒| 右手无名指戴戒指代表什么| 减肥吃什么坚果| 为什么孩子要跟爸爸姓| 十三点是什么意思| 威士忌兑什么饮料好喝| 一阵一阵的胃疼是什么原因| 便秘缺什么维生素| 小便失禁是什么原因男性| 喝什么胸会变大| 通便吃什么最快排便| 天麻有什么作用与功效| 什么的豆角| 免疫力差吃什么| 麸皮是什么| 胃不好吃什么养胃水果| 砂仁后下是什么意思| 什么的心情| 什么年什么月| 泡蛇酒用什么药材最好| 声带白斑是什么病严重吗| 鳕鱼不能和什么一起吃| 肾阴虚的症状吃什么药| bp什么意思| nba下个赛季什么时候开始| 579是什么意思| 月经期间同房有什么危害| 第一胎打掉会有什么影响| 社保基金是什么| 玛丽苏什么意思| 云南是什么民族| 甲状腺功能检查挂什么科| 结婚20年是什么婚| 乌江鱼是什么鱼| 按摩脸部有什么好处| 什么叫蛋白质| 梦到掉头发是什么意思| 驻马店有什么大学| 牙龈肿痛上火吃什么药最好| 5.20是什么星座| 秦始皇是什么民族| 肌腱属于什么组织| olayks是什么牌子| 杭州有什么好吃的| 92年什么命| 乌鸡白凤丸什么时候吃| 鱼不能和什么食物一起吃| 查转氨酶挂什么科| 妒忌什么意思| 什么门关不上| 受贿是什么意思| 电影下映是什么意思| 为什么会低血糖| 痘痘破了涂什么药膏| 91岁属什么| 月经推迟吃什么药| 端着是什么意思| 为什么手指关节会痛| 篱笆是什么意思| 梦见过河是什么意思| 经期可以喝什么茶| 什么样的花| ab和b型血生的孩子是什么血型| 9月30日什么星座| whan是什么意思| 甘油三酯高吃什么药效果好| 表白送什么礼物好| 玉米什么时候种| 粉玫瑰代表什么意思| 北斗星代表什么生肖| 96年什么命| 小暑吃黄鳝有什么好处| 什么叫甲状腺弥漫病变| 吃什么药死的快| 人血馒头是什么意思| 泡脚什么时候泡最好| 补办医保卡去什么地方| 海底椰是什么东西| 贫血四项是指什么检查| 樱桃有什么营养| 1988属什么生肖| 抗病毒什么药效果好| 挑担是什么意思| 七月十五有什么禁忌| 曼字五行属什么| 欧字五行属什么| 包皮炎挂什么科| 什么是瑜伽| 吃山竹有什么好处和坏处| 缺维生素会有什么症状| 亲子是什么意思| 无极是什么意思| 蛇七寸是什么部位| 血热吃什么药好得快| 灰指甲用什么药治疗| 自食恶果是什么意思| 头尖适合什么发型| a型血和ab型血生的孩子是什么血型| 左心室强光点是什么意思| 出生证明有什么用| 妈妈a型爸爸b型孩子是什么血型| 狗生小狗前有什么征兆| 大败毒胶囊主治什么病| 为什么不建议割鼻息肉| 尿酸高不能吃什么水果| 官印是什么意思| 外阴痒是什么原因| 1996年是属什么生肖| 十一月二十九是什么星座| 先下手为强是什么意思| 阑尾炎有什么症状| 虚心接受是什么意思| 海龟吃什么| 挪车打什么电话| 什么杯子不能装水| 吃什么可以快速减肥| 轻微食物中毒吃什么药| 疝气是什么原因引起的| 性早熟有什么危害| 心电图诊断窦性心律什么意思| 治疗股癣用什么药膏| prg是什么意思| 血脂高适合吃什么食物| 考试前不能吃什么| 唏嘘什么意思| 必有近忧是什么意思| 老鼠喜欢吃什么| 小孩尿味道很重是什么原因| 行政许可是什么意思| 左肾轻度积水是什么意思| 青岛有什么玩的| 什么东西辟邪| 泡沫尿吃什么药| 小孩干呕是什么原因| 梦见捡花生是什么意思| bn是什么颜色| 复印病历需要什么证件| 4月出生是什么星座| 预防保健科是做什么的| 头顶秃了一小块是什么原因怎么办| 苹果6和苹果6S有什么区别| 2月4日什么星座| 头疼是什么原因导致的| 尿道口感染吃什么药| ckmb是什么意思| 净字五行属什么| 钙片什么牌子好| 君子兰不开花是什么原因| 芥末是什么味道| 爱情公寓6什么时候上映| 克罗恩病有什么症状| 一什么火箭| 于文华朱之文什么关系| 硝化细菌是什么| 治疗便秘吃什么| 昧是什么意思| cop是什么| al是什么意思| 筋膜炎吃什么药好得快| 心内科是看什么病的| 子宫糜烂用什么药| 什么是内卷| 桉字五行属什么| 空腹打嗝是什么原因引起的| 益母草能治什么病| 夏至未至什么意思| 弱肉强食是什么意思| 女人依赖男人说明什么| 胎儿右肾盂分离是什么意思| 死马当活马医是什么意思| lpp什么意思| 潜血阴性是什么意思| 古代上班叫什么| 大便次数多是什么原因| 女命带驿马是什么意思| 826是什么星座| 什么只好什么| 来姨妈头疼是什么原因| 数九寒天是什么意思| 绝症是什么意思| 喝什么茶降血糖| 阴干吃什么补雌激素| 女人男相有什么说法| 天蝎座什么象星座| 97年属什么的生肖| 脚起皮是什么原因| 颈椎病睡什么枕头最好| 粉色配什么颜色| 2021年属什么生肖| 为什么大便是黑色的| 呕吐挂什么科| 当局是什么意思| cdfi可见血流信号是什么意思| 骨肉相连是什么肉| 生动是什么意思| 腹泻输液用什么药| 七星瓢虫吃什么| 拿铁咖啡什么意思| 军用水壶为什么是铝的| 氮泵有什么作用| 赴汤蹈火的汤是什么意思| 五福临门是什么意思| 梦见看电影是什么意思| 粽子叶子是什么叶子| 捡肥皂是什么意思| 吃什么水果祛斑最快| 驻村是什么意思| 三伏天什么时候结束| 10度穿什么| 甲减有什么症状| 早搏吃什么药最管用| 过生日送什么礼物| 痛风有什么症状| 上司是什么意思| 悲戚是什么意思| 二是什么意思| po医学上是什么意思| 延长收货是什么意思| 宫颈糜烂是什么| 百度
这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 ? 论坛首页 ? 嵌入式开发 ? 国产MCU ? 嘉楠K230开发板码类识别

共2条 1/1 1 跳转至

嘉楠K230开发板码类识别

高工
2025-08-05 12:10:43     打赏
百度 自2013年英国城市学学会与杭州城研中心签署战略合作协议以来,双方本着“项目带动、资源共享、优势互补”的原则,以学术活动为载体,以城市规划咨询项目为抓手,不断拓宽战略合作领域,丰富战略合作形式,注重成效,注重双赢,实现双方战略合作新发展。

本篇讲述条形码与二维码识别。

条形码识别

1.了解条形码

      条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成的平行线图案。条形码可以标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等许多信息,因而在商品流通、图书管理、邮政管理、银行系统等许多领域都得到广泛的应用。

2.相关API函数

      CanMV K230而言,直接使用MicroPython中的find_barcodes()即可获取摄像头采集图像中条形码的相关信息。该函数支持所有一维条形码:image.EAN2、image.EAN5、image.EAN8、image.UPCE、image.ISBN10、image.UPCA、image.EAN13、image.ISBN13、image.I25、image.DATABAR (RSS-14)、image.DATABAR_EXP (RSS-Expanded)、image.CODABAR image.CODE39、image.PDF417 image.CODE93、image.CODE128 。

构造函数

...
功能:查找roi区域内的所有条形码并返回一个image.barcode的对象列表
返回:image.barcode对象列表。
...
image.find_barcodes([roi])

使用方法

barcode.rect() #返回一个矩形元组(x,y,w,h),条形码的边界。可以通过索引[0-3]来获得单个值
barcode.payload() #返回条形码字符串信息。可以通过索引[4]来获得这个值。
barcode.type() #返回条形码类型。
3.条形码识别代码与运行结果

'''
条形码识别
'''

import time, math, os, gc

from media.sensor import * #导入sensor模块,使用摄像头相关接口
from media.display import * #导入display模块,使用display相关接口
from media.media import * #导入media模块,使用meida相关接口

#定义条形码类型
def barcode_name(code):
    if(code.type() == image.EAN2):
        return "EAN2"
    if(code.type() == image.EAN5):
        return "EAN5"
    if(code.type() == image.EAN8):
        return "EAN8"
    if(code.type() == image.UPCE):
        return "UPCE"
    if(code.type() == image.ISBN10):
        return "ISBN10"
    if(code.type() == image.UPCA):
        return "UPCA"
    if(code.type() == image.EAN13):
        return "EAN13"
    if(code.type() == image.ISBN13):
        return "ISBN13"
    if(code.type() == image.I25):
        return "I25"
    if(code.type() == image.DATABAR):
        return "DATABAR"
    if(code.type() == image.DATABAR_EXP):
        return "DATABAR_EXP"
    if(code.type() == image.CODABAR):
        return "CODABAR"
    if(code.type() == image.CODE39):
        return "CODE39"
    if(code.type() == image.PDF417):
        return "PDF417"
    if(code.type() == image.CODE93):
        return "CODE93"
    if(code.type() == image.CODE128):
        return "CODE128"

sensor = Sensor() #构建摄像头对象
sensor.reset() #复位和初始化摄像头
sensor.set_framesize(width=800, height=480) #设置帧大小为LCD分辨率(800x480),默认通道0
#sensor.set_framesize(Sensor.FHD) #设置帧大小FHD(1920x1080),默认通道0
sensor.set_pixformat(Sensor.RGB565) #设置输出图像格式,默认通道0

#Display.init(Display.ST7701, to_ide=True) #同时使用3.5寸mipi屏和IDE缓冲区显示图像,800x480分辨率
Display.init(Display.VIRT, sensor.width(), sensor.height()) #只使用IDE缓冲区显示图像

MediaManager.init() #初始化media资源管理器

sensor.run() #启动sensor

clock = time.clock()

while True:
    clock.tick()
    img = sensor.snapshot() #拍摄图片
    codes = img.find_barcodes() #查找图像中所有条形码

    for code in codes:

        #对条码画矩形表示
        img.draw_rectangle(code.rect(),thickness=2)

        #打印相关信息
        print_args = (barcode_name(code), code.payload(), (180 * code.rotation()) / math.pi, code.quality())
        print("Barcode %s, Payload \"%s\", rotation %f (degrees), quality %d" % print_args)

        img.draw_string_advanced(0, 0, 30, code.payload(), color = (255, 0, 255)) #图像显示条码信息

    Display.show_image(img) #显示图片

    print(clock.fps()) #打印帧率

  使用01Studio WIKI上条形码识别效果如下,用其他紧凑密集些的条形码识别不出,文档给了下说明不能太小,实际应用这里还是有优化处理空间。

 

二维码识别

1.了解二维码

      二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。

      二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的、黑白相间的、记录数据符号信息的图形;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。

2.相关API函数

      CanMV K230使用MicroPython中的find_qrcodes()即可获取摄像头采集图像中二维码的相关信息。

构造函数

...
功能:查找roi区域内的所有二维码并返回一个image.qrcode的对象列表。
返回:image.qrcode对象列表。
...
image.find_qrcodes([roi])

使用方法

qrcode.rect()    #返回一个矩形元组(x,y,w,h),二维码的边界。可以通过索引[0-3]来获得单个值。
qrcode.payload() #返回二维码字符串信息。可以通过索引[4]来获得这个值。
qrcode.verison() #返回二维码版本号。

3.二维码识别代码与运行结果

'''
二维码识别
'''

import time, math, os, gc

from media.sensor import * #导入sensor模块,使用摄像头相关接口
from media.display import * #导入display模块,使用display相关接口
from media.media import * #导入media模块,使用meida相关接口

sensor = Sensor() #构建摄像头对象
sensor.reset() #复位和初始化摄像头
sensor.set_framesize(width=800, height=480) #设置帧大小为LCD分辨率(800x480),默认通道0
sensor.set_pixformat(Sensor.RGB565) #设置输出图像格式,默认通道0

#Display.init(Display.ST7701, to_ide=True) #同时使用3.5寸mipi屏和IDE缓冲区显示图像,800x480分辨率
Display.init(Display.VIRT, sensor.width(), sensor.height()) #只使用IDE缓冲区显示图像

MediaManager.init() #初始化media资源管理器

sensor.run() #启动sensor

clock = time.clock()

while True:
    clock.tick()
    img = sensor.snapshot() #拍摄图片
    res = img.find_qrcodes() #寻找二维码

    if len(res) > 0: #在图片和终端显示二维码信息

        img.draw_rectangle(res[0].rect(), thickness=2)
        img.draw_string_advanced(0, 0, 30, res[0].payload(), color = (255, 0, 0))

        print(res[0].payload()) #串口终端打印

    Display.show_image(img) #显示图片

    print(clock.fps()) #打印帧率


使用二维码生成工具,这里使用EEWorld网址生成二维码。运行,摄像头对着二维码,识别结果如下:

 

      至此,实现摄像头条形码、二维码识别功能。





关键词: 条形码     识别     摄像头    

院士
2025-08-05 16:16:06     打赏
2楼

感觉二维码像是两条形码形成90°叠加。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]
失眠吃什么药最有效 存脐带血有什么用 什么伤肝 davena手表什么牌子 人妖是什么
脐带绕颈有什么症状 睡不着是什么原因 蛲虫吃什么药 女人体检都查什么项目 hd是什么意思
白血病是什么症状 hpv52阳性有什么症状 消化功能紊乱吃什么药 什么样的人死后还会出现 前位子宫是什么意思
甘心的近义词是什么 睾丸是什么意思 abi医学上是什么意思 皿是什么意思 无水焗是什么意思
乘务员是干什么的hcv7jop9ns2r.cn tga是什么hcv7jop9ns6r.cn 例假期间适合吃什么水果hcv8jop1ns8r.cn 皮脂腺囊肿用什么药膏hcv9jop6ns7r.cn 前胸后背疼挂什么科wmyky.com
孕妇子痫是什么病hcv9jop3ns2r.cn 血凝是什么意思imcecn.com 半年抛是什么意思youbangsi.com 腰酸是什么原因女性hcv7jop4ns7r.cn 就不告诉你就不告诉你是什么儿歌hcv8jop4ns8r.cn
什么样的伤口需要打破伤风针hcv9jop2ns5r.cn 肺ca是什么意思xinjiangjialails.com 大黄米和小黄米有什么区别aiwuzhiyu.com 胃肠化是什么意思hcv8jop1ns2r.cn 青岛有什么特产hcv8jop3ns8r.cn
33朵玫瑰花代表什么意思1949doufunao.com 等闲变却故人心却道故人心易变什么意思hcv8jop4ns7r.cn 舌头肥大是什么原因hcv9jop2ns9r.cn 耳洞发炎流脓用什么药hcv7jop6ns8r.cn c13呼气试验阳性是什么意思hcv8jop5ns5r.cn
百度