基于英特尔® EDISON 并配置网络摄像头的条形码扫描仪
鉴于条码扫描已在移动设备上得到广泛应用,用户可能想要使用英特尔® Edison 运行自动化条码扫描。Linux 条码 APILinux 提供多种全功能开源条码读取库,如 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=disabledpthreads --enable-pthread=yesv4l --enable-video=yesjpeg --with-jpeg=yesMagick++ --with-imagemagick=yesPython --with-python=yesGTK+ --with-gtk=no => the GTK+ widget will *NOT* be builtQt4 --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" 案例
页:
[1]