Labview 图像处理系统设计

1. 总体主界面设计

前面板界面如下:

界面总共分为一个实时采集加拍照控制模块,两个图像显示模块(实时图像显示和直方图显示)以及三个图像处理模块

前面板中各模块具体功能及使用说明如下:
1.当实时按钮关闭时(灯暗)系统所处理的图像均为静态图像,此时点击LOAD IMAGE 按钮弹出文件对话框选择需要处理的图片

2.当实时按钮开启时(绿灯)系统通过摄像头实时采集图片进行处理

3.DETECT EDGES按钮为开启边缘检测,Method列表框中可以选择边缘检测所使用的方法

4.CANNY DETECTOR 按钮表示使用CANNY方法进行边缘检测,Canny/Filter Parameters框中可以进行相关参数的设置

5.点击保存图片按钮可以实现静态处理后图像的保存以及实时处理后图像的保存

6.相机选择:选择采集所使用的摄像头

7.拍照:在实时采集的过程中进行拍照并保存照片,照片的路径及名称由图片保存路径控件以及设定文件名控件进行输入

8.反色按钮实现图像反色

9.阈值化按钮实现图像的阈值化,其中阈值化的范围通过水平滑动杆滑动设置

10.对称、旋转、平移操作是通过容器中的选项卡控件实现的,在对称选项中通过列表框选择对称的方式然后点击开启按钮实现;在旋转选项中,通过旋钮实现360°的旋转;在平移操作中,通过垂直和水平滑动杆分别实现垂直方向和水平方向的平移操作

2. 程序框图设计

(1)非实时导入图片文件

通过按钮与条件结构实现,按钮点击后条件结构中打开文件对话框,读取文件,通过新建的窗口显示,还可以调用灰度直方图控件显示图片的灰度直方图

(2)实时采集图像和拍照

上图所示的是一个实时采集的模块,主要是通过选择相机,打开相机,grab设置,以及图像的grab控件实现,其中图像的grab控件需要放入while循环中以实现实时采集,接入显示控件中进行显示

拍照功能的实现是条件结构中,使用控件得到循环中上一次抓取的图像,然后通过创建路径函数以及写文件控件将图像进行保存

需要注意的是,实时采集的图像如果需要用于后续的图像处理则通过控件转为灰度图像再进行处理

(3)边缘检测

将实时采集的图像或者打开的静态图像接入边缘检测控件的src接口,再将通过复制控件所复制的目标图像接入检测控件的dst接口,最后还需通过Method方法控制检测方法完成边缘检测功能,同样canny边缘检测利用控件进行统一的操作,最终通过窗口输出处理后的图片

(4)反色、阈值化

反色和阈值化是利用条件结构再分别通过控件和控件实现的,接口的连线与边缘检测一样,其中反色没有参数设置,而阈值化控件中还需接入前面板所示的滑动杆来调整范围

(5)对称、旋转、平移

对称、旋转、平移通过选项卡控件来进行选择。对称中有一个按钮控制是否进行操作,然后通过控件实现,控件除了接入图像外还需要接入选择控件用来选择对称方式; 旋转利用控件,需接入旋钮控件实现控制;平移利用控件并接入水平和垂直滑动杆进行控制

(6)保存处理图片

通过文件对话框选择保存的路径以及格式再与处理后的的图片一起接入控件实现BMP文件的写入即保存

(7)处理图片打开方式控件及其输出

我的处理后的图片都是通过控件进行显示的,后续的保存和直方图显示则需要利用该控件的输出,连线需要如下:

条件为真时,输出与结构边框连接,条件为假时,将dst图片统一接入该边框点,进行这样一个操作之后我发现在静态处理时,只需要选择一个此显示控件,将输出图片接口接入到保存控件或者直方图控件中即可完成统一的操作,而不需要将每一个图像处理操作条件结构中的控件的输出接到别的控件,但是在实时操作时却又不能完成这样的统一操作,还需要逐个接入。

除此之外,利用该控件在进行不同图像处理的转换时也可以直接覆盖

(8)按钮、旋钮等控件

在进行实时处理时,发现按钮的点击必须设置为单击时转换,并且需要在进行该处理时一直保持开启状态才行,而如果开启后在没有关闭的情况下又选择了另一个按钮进行开启即两个按钮都是打开的,那么程序判定的是以离当前最近的一次操作进行处理的。在静态操作时,每一次点击按钮后在条件结构中我再对按钮的状态取反避免一直开启,否则的话,例如保存按钮如果点击一次后将会一直开启那么会一直弹出文件对话框阻止我们的后续操作。最后还需要对所有的控件在最外层循环外进行一个初始化操作如下:

3.程序演示

接下来对程序进行部分功能的演示

运行程序后无论静态还是实时都会开启摄像头实现显示:

(1)静态

加载图片:

选择后弹出加载的图片:

边缘检测:

Canny:

阈值化:

(2)实时

       同时显示实时图像的灰度图以及对应的灰度直方图

Canny:

反色:

上下对称:

旋转:

平移:

(3)保存图像

成功保存实时采集的图像

4. 总结

labview上手也挺容易,可以自己去随意设计,此外它还可以与机器学习结合,共同实现一个完整的系统。

  • 51
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
目 录 第一章 概述 1 第二章 总体设计 2 2.1 时钟显示的结构 2 2.2设计总思路 2 第三章 软件设计 3 3.1获取时间的各整型数据 3 3.2提取数字的各位 4 3.3 七段布尔显示控件编码 4 3.4 译码、布尔显示数字 5 3.5 显示时间的区段 5 3.6 闪烁 6 第四章 程序调试 7 总 结 8 附 录 9 程序框图前面板 9 程序面板程序框图 10 第一章 概述 虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、 测量和自动化的应用。灵活高效的软件能帮助您创建完全自定义的用户界面,模块化的 硬件能方便地提供全方位的系统集成,标准的软硬件平台能满足对同步和定时应用的需 求。这也正是NI近30年来始终引领测试测量行业发展趋势的原因所在。只有同时拥有高 效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟 仪器技术性能高、扩展性强、开发时间少,以及出色的集成这四大优势。LabVIEW(Lab oratory Virtual Instrument Engineering Workbench,实验室虚拟仪器集成环境)是一种图形化的编程语言(又称G语言),它是 由美国NI公司推出的虚拟仪器开发平台,也是目前应用最广、发展最快、功能最强的图 形化软件集成开发环境。使用这种语言编程时,基本上不用写程序代码,取而代之的是 程序框图。LabVIEW的特点如下: 编程简单; 开发周期短; 高效性; 开放性; 自定义性; 性价比高,能一机多用。 第二章 总体设计 2.1 时钟显示的结构 本课题要求设计一个数字时钟。通过获取电脑的系统时间,并分离出给数字,在通过 布尔显示显示。数字的显示主要是7个长条的布尔显示组成,原理与7段数码管相似。7段 数码管显示不同的数字主要通过其7个布尔不同的真假值控制,将0- 9对应的7段布尔显示值依次存入一个布尔数组里,只需提取此数组的不同段即可让其显 示不同的值,如显示"0"提取数组的0-6位分别赋值给7段布尔显示。 2.2设计总思路 获取时间的控件可以获取的信息有:年、月、日、星期、天数、时、分、秒、秒小数 等,取得的值为整型数据,利用除数取余即可分离个十位。为了获得更好的显示效果将 背景改为黑色,布尔显示的颜色为绿色。 第三章 软件设计 3.1获取时间的各整型数据 软件中获取日期/时间(秒)控件从计算机系统中自动提取时间,并转换成日期、时 间等,控件图如下: 图3-1 在获取时间后,将数据解除捆绑即分别取得年、月、日、时间等,如下图: 图 3-2 3.2提取数字的各位 通过除10取余便可得到个位,商为十位,以此方法也可求出年的各个数字,如下图: 图3-3 3.3 七段布尔显示控件编码 取出各位数字后,并不可直接显示,要通过统一编码规范显示的格式,这样才能显示 各位数,编码各段如下: 图3-4 A、B、C、D、E、F、G分别对应着七段布尔显示控件,要显示"0"时A~G的赋值分别为:1 1 1 1 1 1 0(1代表真,0为假),显示其他数字也是按此做法的。最后将此70个值串接起来存入一 个布尔数组里,如图3-4右。 3.4 译码、布尔显示数字 要显示数字时,只需将数字乘以7,再将乘积的值作为索引在那存放真值的数组里寻找对 应显示的七个布尔显示控件的值。如显示'2',则从数组的第2*7=14位开始,依次取出7 个(分别代表着七个布尔的真值),其他也同理。最后捆绑成簇,因为七段显示布尔已 做成簇。Labview表达如下: 图 3-5 3.5 显示时间的区段 显示的时间被分成7段,即凌晨、早上、上午、中午、下午、傍晚、晚上,只需通过表达 式节点计算出此时属于哪一段(1- 7),再通过七个布尔文本分别显示即可,布尔显示控件叠加在一起,程序及显示效果如 下图: 图3-6 3.6 闪烁 闪烁时只要判断其是否秒数大于0.5S,大于则显示(为真),小于则熄灭(为假),图 3-7为程序框图,3-8为实际效果: 图 3-7 图 3-8 第四章 程序调试 程序很容易上手,没有C语言那么复杂的语法等,图形界面让人更直观的对各部分进 行操作。此课程设计重点及难点在于布尔显示数字,开始时感觉其数据量非常大,由于 簇的特点使得程序的复杂性大大降低,而且程序更加清晰。显示的主要借助于平时常用 的数码管,它的显示原理就如本课程设计的要求是一样的,主要有统一的编码,显示时 通过解码即可显示出数字。 开始做好7段布尔显示后,不管怎么看都很生硬,完全不是数字时钟的模样,研究了 半天,原来是背景的缘故,当我换背景成黑色,且布尔显示位绿色后,显示效果大不一 样,让人感觉到它就是一个电子手表一样。不过它还是有一点不足:显示的字还是那么 生硬,不生动,字体台统一、死板了。不过由于是布尔
LabVIEW图像处理通用平台是一种功能强大的软件工具,专门用于图像处理和分析。它基于图像传感器捕获的数字图像,提供了很多图像处理算法和函数,可用于图像的增强、过滤、分割、特征提取、模式识别等应用。 LabVIEW图像处理通用平台具有以下几个主要特点: 1. 灵活性:LabVIEW图像处理通用平台可以适用于各种图像处理应用,包括医学图像处理、监控图像分析、计算机视觉等领域。用户可以根据自己的需求选择适合的算法和方法,定制自己的图像处理应用。 2. 高性能:LabVIEW图像处理通用平台提供了高效的图像处理算法和高性能的图像处理函数。用户可以利用多核处理器和并行计算技术,提高图像处理的速度和效率。 3. 可视化编程:LabVIEW图像处理通用平台采用可视化编程方式,用户可以通过图形化的界面设计图像处理算法的拖拽组合,快速搭建图像处理系统。这使得图像处理的开发过程更加直观和简便。 4. 整合能力:LabVIEW图像处理通用平台可以与其他LabVIEW模块和硬件设备无缝集成,例如数据采集卡、运动控制器等。这样用户可以利用LabVIEW的强大功能,实现图像处理与其他控制和监测功能的整合。 总结而言,LabVIEW图像处理通用平台是一种功能强大、灵活性高、性能优越的图像处理软件工具。通过可视化编程方式,用户可以快速构建各种图像处理系统,实现图像的增强、分析和识别等功能。这使得LabVIEW成为图像处理领域的通用平台,受到广泛应用和认可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

deleteeee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值