1、 精密制造与自动化 2017年第2期 28 基于 OpenCV 的相机显示研究与实现 范瑞琪 任德均 欧 彬 黄柳儒(四川大学 制造科学与工程学院 成都 610065)摘 要 生产企业在解决生产自动化的问题后,开始寻求以机器视觉为基础的检测自动化和装配自动化,机器视觉技术早已成为工业界关注的热点之一。针对项目需求搭建嵌入式机器视觉平台,使用了 BASLER 相机和Odroid-XU4 开发板,操作系统为 Linux,提出了一种结合 Qt 和 OpenCV 工业相机显示实现方法,软件开发平台为 Qt Creator。最后对开发程序进行了运行测试,实验结果表明:此方法能较好驱动相机显示图像,此外在
2、 Linux下进行设计满足了基于嵌入式操作系统的应用需求。关键词 嵌入式机器视觉 工业相机 Qt OpenCV Qt Creator 针对项目需求搭建嵌入式机器视觉平台时,硬件选择了德国型号 acA1920-155um 的 BASLER 相机和韩国 Odroid 公司的 Odroid-XU4 开发板,此款BASLER 相机有 USB3.0 接口的黑白相机,其水平/垂直分辨率为 1 920(像素)1 200(像素)。Odroid-XU4 开发板的整体性能基本和目前的中端智能手机差不多,它搭载了主频为 2GHz 的三星Exynos 5422 八核处理器与 2GB RAM,由于其处理器采用了 ARM
3、 架构,因此 Odroid-XU4 可以运行基于 ARM 架构所设计的操作系统,包括 Debian、Ubuntu 以及 Android 等。由于 BASLER 官方未提供ARM-Linux 环境下的相机显示程序,但是在平台搭建过程中需要显示相机图像达到对焦采样等操作,为了解决这个问题,本文提出了一种结合 Qt 和OpenCV 函数库来实现相机显示的方法。1 1 相机驱动安装相机驱动安装 驱动程序是硬件的一部分,当你安装新硬件时,驱动程序是一项不可或缺的重要元件,驱动程序即添加到操作系统中的一小块代码,其中包含有关硬件设备的信息。有了此信息,计算机就可以与设备进行通信。驱动程序是硬件厂商根据操作
4、系统编写的配置文件,可以说没有驱动程序,计算机中的硬件就无法工作。就像计算机的声卡、显卡、网卡等硬件要在正确安装相关驱动程序后才能正常工作一样,要使相机能正常工作,必须先要为其安装驱动。驱动程序的安装分为以下几步:(1)在安装包所在目录打开终端并对其进行解压:tar-xvf pylon-5.0.5.9000-RC8-armhf.tar.gz(2)进入解压后的文件夹:cd pylon-5.0.5.9000-armhf(3)解压相应的 SDK 包到 opt 目录下:sudo tar-C/opt-xzf pylonSDK*.tar.gz(4)安装 udev-rules 来为 basler USB 相
5、机设置权限:./setup-usb.sh(5)拔掉相机重新插上检测驱动是否安装成功,x86 平台下可以进入/opt/pylon5/bin 目录下运行PylonViewerApp 程序来检测,但是 ARM 平台下不支持 pylon Viewer。所以选择进入安装包目录下的Samples/C+/Grab 文件夹在终端编译运行,如果能够显示检测到的相机型号说明驱动安装成功。2 2 开发环境搭建开发环境搭建 Qt 是一个跨平台的 C+图形用户界面应用程序框架,它为应用程序开发者提供了建立艺术级图形用户界面所需的所有功能。它是完全面向对象的,很容易扩展并且允许真正的组件编程。Qt 是诺基亚公司的产品,它
6、支持 Windows、Linux、Mac OS X等多种操作系统,是目前非常好的界面设计函数库,适合嵌入式产品界面的开发。Qt Creator 是一个用于Qt 开发的轻量级跨平台集成开发环境(IDE),Qt Creator 可提供首个专为支持跨平台开发而设计的集成开发环境,让首次接触 Qt 框架的开发人员能迅速上手和操作。即使不开发 Qt 应用程序,Qt Creator也是一个简单易用且功能强大的 IDE。OpenCV 是Intel 公司于 1999 年推出的一种面向图像处理的开万方数据 范瑞琪 等 基于 OpenCV 的相机显示研究与实现 29 源计算机视觉库,其中,OpenCV 是 Open Source Computer Vision Library 的缩写,如今由 Willow Garage 提供支持。OpenCV 有开源的函数库,包含了几百个图像处理和计算机视觉方面的 C/C+语言函数,可以满足不同领域的图像处理需求,使用时以函数调用的形式提供给用户,也可以对其代码进行改进,便于用户实验教学或程序开发。OpenCV具有以下几个显著的特点:开源、跨平台、应用领域广、代码效率高、
copyright@ 2010-2024 安全人之家版权所有
经营许可证编号:冀ICP备2022015913号-6