基于英特尔® EDISON 并配置网络摄像头的条形码扫描仪

2016-05-195894
AI 快速预览详细 收起
本文介绍了如何使用英特尔® Edison 和网络摄像头构建条形码扫描仪。首先,文章推荐了两种开源条码读取库 ZBar 和 zxing,并选择了 ZBar 进行详细说明。接着,文章讲述了如何为 UVC USB 摄像头安装驱动程序,并提供了详细的 ZBar 安装步骤。最后,文章提到了如何将 ZBar 与 OpenCV 结合以进行图像处理。通过这些步骤,用户可以实现高效的条形码扫描自动化。
鉴于条码扫描已在移动设备上得到广泛应用,用户可能想要使用英特尔® Edison 运行自动化条码扫描。

Linux 条码 API
Linux 提供多种全功能开源条码读取库,如 zxing (Apache 2) 或 ZBar (LGPL 2.1)。 zxing 针对 Java,而 ZBar 针对 C 语言,因此不需要 Java 运行时。 在下面的描述中,我们将使用 ZBar API。
基于英特尔® Edison的 USB 网络摄像头
最近为英特尔® Edison 提供了 Yocto 映像已经包含了面向 UVC USB 摄像头的驱动程序,因此您可以直接使用相关摄像头。 对于 gspca 网络摄像头等其他摄像头,您可能需要在使用摄像头之前首先构建驱动程序。
安装 ZBar
我们想要将 zbar 用于实时视频和静态图像。 对于后者,我们需要 ImageMagick 库。您可通过下列方式,通过 repo.opkg.net 并按照说明安装该库,包括所有关联组件

# opkg install imagemagick_dev
<span># wget http://sourceforge.net/projects/ ... 0/zbar-0.10.tar.bz2
</span><span># cd zbar-0.10
</span><span># ./configure --without-qt --without-gtk --without-xv --without-xshm --with-imagemagick --with-x=no --prefix="/usr" </span>


[...]

<span>一些时间之后它应该会在末尾带上

</span>[...]
请确认检测的配置符合您的预期:
------------------------------------------------------------------------
[...]
X                 --with-x=disabled
pthreads          --enable-pthread=yes
v4l               --enable-video=yes
jpeg              --with-jpeg=yes
Magick++          --with-imagemagick=yes
Python            --with-python=yes
GTK+              --with-gtk=no
        => the GTK+ widget will *NOT* be built
Qt4               --with-qt=no
        => the Qt4 widget will *NOT* be built

遗憾的是,libtool 设置似乎无法总是正常运行。 结果,调用“make”时出现了错误消息。 为完成编译和安装,我使用了下面的变通方式:

# rm libtool # ln -s /usr/bin/libtool libtool # make # make install

如果您没有安装 "/usr/bin/libtool",您可以查找相关程序包,例如通过 repo.opkg.net
安装成功之后,您应该可以找到 2 个二进制 "/usr/bin/zbarimg" 和 "/usr/bin/zbarcam"。 前者为从静态图像中读取条码的二进制示例, 后者通过下列方式直接从实时视频流中读取

# zbarcam --nodisplay

如果您已安装了基于英特尔® Edison 的 OpenCV,您还可在检测之前将 zbar 和 OpenCV 组合以进行一些图像处理工作(如 OpenCV 和 ZBar 示例
扩展阅读:
                                    英特尔® EDISON 开发板:物联网温度监控
                                    英特尔® EDISON —— 添加内核模块到 YOCTO* —— "BATMAN" 案例

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -