ywlzh 发表于 2018-5-14 09:34:27

[记录分享]C++ QT 使用摄像头识别二维码

时间 2018-05-14 9:12

看坛子里有一些也是用QT开发上位机软件的,我也分享下假期自己写的一个小应用,摄像头识别二维码,本来是来做仓库管理软件,就简单处理入库出库操作,再加上时间上的查询就可以了,不用加其他杂七杂八的东西,就公司自己人用

这里分享第一版本,摄像头识别二维码,

先说下程序,使用QT自带的camera 你要是使用的opencv修改下代码就行了,二维码识别这一块用的 ZXing 库 这个库相当的好用,用过ZBar库,效果不理想,

摄像头使用的网上买的一个便宜的USB摄像头

程序流程

摄像头定时300ms截图,得到的图像文件再交给ZXing库,就会得到数据了

简单高效

工程源文件:


工程exe文件:

其实更多的处理方式可以去github上找找,然后自己改改就可以实现自己想要的结果了。



stely 发表于 2018-5-14 09:35:52

这个有点意思,学习了。

openmcu666 发表于 2018-5-14 09:39:58

好资料,谢谢分享

68336016 发表于 2018-5-14 09:46:18

ZBAR更适合嵌入式里面。
不过现在买个二维扫描枪也就100块钱了。

wwkkww 发表于 2018-5-14 10:08:34

不错,有时间移植到嵌入式平台上看看

th1993 发表于 2018-5-14 10:12:21

这个资料要加精啊!

honami520 发表于 2018-5-14 10:48:42

不错,以后有时间了再学学

pengchhui 发表于 2018-5-14 13:23:09

之前用VC也写了个测试代码,识别率不够高,特别是识别图片上的二维码。

kinsno 发表于 2018-5-14 14:08:43

68336016 发表于 2018-5-14 09:46
ZBAR更适合嵌入式里面。
不过现在买个二维扫描枪也就100块钱了。

你说的这个ZBAR能识别边缘线条吗,比如沙漠和绿洲的边缘,比如一张纸上面从上到下有好多图案,到最底部10%的位置,我全部涂黑,这也是一种边缘。。类似于这种边缘能否识别呢 ?

68336016 发表于 2018-5-14 14:14:22

kinsno 发表于 2018-5-14 14:08
你说的这个ZBAR能识别边缘线条吗,比如沙漠和绿洲的边缘,比如一张纸上面从上到下有好多图案,到最底部10 ...

能有具体的的图片来说明么?
ZBAR是个一维/二维码识别库,我仅仅只是熟悉使用,但是你说的那些是图像上的专业名词么?
不是很理解你的意图啊

ywlzh 发表于 2018-5-14 14:17:01

pengchhui 发表于 2018-5-14 13:23
之前用VC也写了个测试代码,识别率不够高,特别是识别图片上的二维码。

这个效果怎么样?

hmsfeng 发表于 2018-5-14 14:52:35

有车辆号牌识别的库吗?

huangqi412 发表于 2018-5-14 15:04:11

pengchhui 发表于 2018-5-14 13:23
之前用VC也写了个测试代码,识别率不够高,特别是识别图片上的二维码。

这个应该全看用的库性能 跟软件平台没一点关系

yangxizhong 发表于 2018-5-14 16:44:04

好资料,谢谢分享

circle_head 发表于 2018-5-14 17:36:33

感谢分享资料,备用学习!

pengchhui 发表于 2018-5-14 17:53:00

ywlzh 发表于 2018-5-14 14:17
这个效果怎么样?

用笔记本的摄像头试了下,识别手机里面微信二维码要对的比较好才能识别出来。

ywlzh 发表于 2018-5-14 17:57:13

pengchhui 发表于 2018-5-14 17:53
用笔记本的摄像头试了下,识别手机里面微信二维码要对的比较好才能识别出来。 ...

可以试下把时间300ms改成100ms

pengchhui 发表于 2018-5-14 18:18:34

ywlzh 发表于 2018-5-14 17:57
可以试下把时间300ms改成100ms

zxing的库我有调试过,可能对于复杂背景的图片需要自己做下图像处理才行。

kinsno 发表于 2018-5-14 19:56:00

68336016 发表于 2018-5-14 14:14
能有具体的的图片来说明么?
ZBAR是个一维/二维码识别库,我仅仅只是熟悉使用,但是你说的那些是图像上的 ...

我随便找了2个图片,主要是边缘识别,如下图:


mcu_lover 发表于 2018-5-14 20:51:07

kinsno 发表于 2018-5-14 19:56
我随便找了2个图片,主要是边缘识别,如下图:

你想做什么应用{:lol:}

kinsno 发表于 2018-5-14 21:28:16

mcu_lover 发表于 2018-5-14 20:51
你想做什么应用

边缘识别,主要是识别两种不同界面的边缘处。。

这种案例很多的,两种化学液体分层之后,比如,油水分层处,比如液面。。


mcu_lover 发表于 2018-5-15 08:01:32

kinsno 发表于 2018-5-14 21:28
边缘识别,主要是识别两种不同界面的边缘处。。

这种案例很多的,两种化学液体分层之后,比如,油水分层 ...

这个简单对比下灰度就可以了吧,设置一下点到点灰度值比较的距离,投影的宽度就可以了。

yangzi8000 发表于 2018-5-15 10:54:24

mark...................................

acchkr 发表于 2018-5-15 11:05:18

QT应用越来越多了,多谢分享~

sunchaosq122 发表于 2018-5-15 15:57:42

mark,谢谢分享

samqian2008 发表于 2018-8-24 14:38:20

感谢分享资料,备用学习!

eliterxzgxu 发表于 2018-8-25 10:51:06

感谢楼主分享

JohnSmith 发表于 2018-8-26 20:11:05

好资料,谢谢楼主。

xiangbin099 发表于 2018-8-26 21:43:19

谢谢分享!

Llinuxu 发表于 2018-8-29 10:46:15

不错,有时间了多学习下qt!

90soso 发表于 2018-8-31 09:33:32

不错,二维码用途很广~~~

TKZXJ 发表于 2018-12-19 20:43:46

谢谢分享,学习了
页: [1]
查看完整版本: [记录分享]C++ QT 使用摄像头识别二维码