matlab直径算法,基于MATLAB的纸卷幅宽和直径测量方法与流程

6189b0d16b1fb3a4b2ce6f66489d7868.gif

本发明属于输送设备自动控制领域,具体涉及输送系统中货物在直线移载平台上幅宽检测的测量方法。

背景技术:

目前,在移载平台上测量纸卷幅宽往往有两种方式,第一种方式是运用激光测距仪,通过调整好测距仪的位置,红外激光照射纸卷,当纸卷移动过程中会有两个端面时的距离,再通过几何计算,得出纸卷幅宽。这种方法精度较高,速度较快,但价格昂贵,设置困难;第二种方式是运用光电开关,在移载台上放置光电开关,当检测到有纸卷通过时开始计时,当纸卷脱离光电开关照射时,停止计时。最后根据移载平台的速度计算出纸卷的幅宽。这种方法简洁。价格低廉,但往往受到外界的影响比较大,比如移载平台的速度是否恒定,光电开关是否受到其他物体的干扰等等。而且需要复杂的逻辑函数编程,响应也很难达到实时性。所以此种方法只适用于对精度要求不高的场合。

在移栽平台上测量纸卷直径的方式主要是在纸卷上方放置激光测距仪,当纸卷没有通过时,激光测距仪的距离是到链板输送机的距离,当纸卷通过时,测量的距离是激光测距仪到纸卷的距离,两者相减就是纸卷的直径。

技术实现要素:

本发明旨在提供一种基于matlab的纸卷测幅宽和直径的方法,此方法精度高,设置简单,价格低廉,实时性好,能够适用于直线轨道,适用于形状规则货物的测量。

本发明的目的是通过以下的技术方案实现的:

基于matlab的纸卷幅宽和直径测量方法,包括数码相机、光电开关、红色标签纸、matlab软件、工业控制计算机、移载平台、可编程控制器,可编程控制器通过电缆与地面上的工业控制计算机相连,数码相机与工业控制计算机相连,光电开关通过电缆与可编程控制器相连,光电开关通过检测使纸卷停在固定位置,并反馈给可编程控制器触发信号,可编程控制器plc接收光电开关的信号向工控机发送读取纸卷幅宽和直径数据信号。在此之前,工业控制计算机对数码相机发送过来的照片通过matlab软件进行分析处理,计算出纸卷幅宽和直径的信息,等待可编程控制器读取数据。其特征在于:数码相机安装在整个装置的上方用来采集设备的图像,进而分析计算出纸卷的幅宽;光电开关采用镜反射式通过立柱式支架安装在纸卷需要停止的理想位置,检测光线垂直于移载平台的运行轨道。其特征在于:数码相机安装在整体设备的上方用来采集设备图像;光电开关通过立柱式支架安装在纸卷需要停止的理想位置,检测光线垂直于移载平台的运行轨道。

基于matlab的纸卷幅宽和直径测量方法,包括以下步骤:

(1)数码相机对现场设备图像进行采集,并实时发送给工业控制计算机;

(2)根据采集到的图片中两个标签的灰度值不同,计算两个标签的距离x2;

(3)纸卷停止位即镜反射式光电开关到标签a的距离是固定的为x1,纸卷幅宽=x2-x1;

(4)matlab根据纸卷的像素比例,计算出纸卷在图片中所占的面积;

(5)通过计算的面积除以纸卷的幅宽就是纸卷的直径大小。

本发明的有益效果:将工业控制计算机与传感器结合,利用图像处理的方法计算出纸卷幅宽和直径的数据,然后发送给可编程控制器,由于大部分都通过软件进行,所以实时性更好,价格低廉;整套设备不再需要人工参与,反应灵敏度在1秒左右,整个调节过程不会超过5秒钟。

附图说明

图1为本发明结构示意图。

图2为本发明结构机械部分左视图。

图3为本发明结构机械部分俯视图。

图中:1-标签a,2-标签b,3-数码相机,4-移载平台,5-镜反射式光电开关,6-可编程控制器,7-工业控制计算机,8-纸卷,x1-光电开关到标签a的距离,x2-标签b到标签a的距离。

具体实施方式

下面结合附图对本发明作进一步的说明。

如图1所示,基于matlab的纸卷幅宽和直径测量方法,包括1-标签a,2-标签b,3-数码相机,4-移载平台,5-镜反射式光电开关,6-可编程控制器,7-工业控制计算机,8-纸卷。6-可编程控制器,3-数码相机与地面上的7-工业控制计算机通讯,5-镜反射式光电开关通过电缆与6-可编程控制器相连。3-数码相机安装在8-纸卷上面,2-光电开关安装在期望纸卷停止的位置,并且检测光线要垂直于4-移载平台的运行轨道。由于5-镜反射式光电开关可以固定在4-移载平台上,所以对移载平台并没有限制,其中包括链板输送机、辊子输送机、链条机等等。3-数码相机与6-可编程控制器通过电缆和地面上的7-工业控制计算机相连,所述5-镜反射式光电开关通过电缆与6-可编程控制器相连。

3-数码相机主要是在纸卷停在指定位置后对图像进行采集,并将采集到的图像发送给7-工业控制计算机;5-镜反射式光电开关用来使纸卷停在理想位置,通过检测纸卷反馈给6-可编程控制器,6-可编程控制器对7-工业控制计算机发出读取命令,读取纸卷幅宽数据;7-工业控制计算机通过安装的matlab软件执行特定的程序(见本文后面)对采集到的图像进行处理,计算出纸卷的幅宽,等待6-可编程控制器发出读命令后将数据传递给可编程控制器;5-镜反射式光电开关通过支架安装在纸卷需要停止的理想位置,检测光线垂直于4-移载平台的运行轨道。

基于matlab的纸卷幅宽和直径测量方法,包括以下步骤:

(1)数码相机对现场设备图像进行采集,并实时发送给工业控制计算机;

(2)根据采集到的图片中两个标签的灰度值不同,计算两个标签的距离x2;

(3)纸卷停止位即镜反射式光电开关到标签a的距离是固定的为x1,纸卷幅宽=x2-x1;

(4)matlab根据纸卷的像素比例,计算出纸卷在图片中所占的面积;

(5)通过计算的面积除以纸卷的幅宽就是纸卷的直径大小。

步骤(2)数码相机采集到的图片中特定位置的图片颜色与其他位置不同,这样会方便matlab对图像处理。步骤(3)是整个设计的关键,也是整个设计的软件部分,通过设置好逻辑程序,才能实现纸卷准确校正。

步骤(4)中,图片中纸卷的幅宽和直径与实际的纸卷存在映射关系,所以需要进行换算。具体换算方法如下:首先,在正式投入之前,都应当拍摄几组测试图片,找到数码相机的最佳位置。然后,测量出纸卷实际的幅宽与直径,再根据工控机matlab测量出图片中纸卷的幅宽与直径,图片中的数值与实际的数值在数码相机位置不变的情况下存在映射关系。最后,计算出映射比例,这一数值是固定的,与图片中的数值相乘就是纸卷实际的大小。

整个工作过程的matlab程序:

photograph=imread(‘tp.png’);%读取采集到的图片

start.abs=常数;%手动输入标签a横坐标

start.ord=常数;%手动输入标签a的纵坐标

croprgb=rgb(start.abs:200,start.ord:500,:);%分割图像区域

[x,y]=size(h);%确定光电开关的位置(只有第一次使用)

fori=1:x;

ifh((x+1-i),y)==z;%z为光开点灰度值

u=x+1-i;

v=y;

break;

end;

[m,n]=size(i);%确定标签b的位置

forj=1:m;

ifi((m+1-j),n)==标签b点的灰度值

e=m+1-j;

f=n;

break;

end;

x3=u-e;%x3为纸卷幅宽

photograph=imread(‘tp.png’);%读取采集到的图片

i=rgb2gray(photograph);%转化为二值图像

[m,n]=size(i);%读出像素的长和宽

count=m*n;%计算出像素的个数

white_count=length(find(i==0))%筛选出白色区域像素个数

white_precent=(white_count)/(count)%白色像素所占的比例

area=(white_precent)*a*b%a为照片面积(已知)

%b为照片面积与实际面积的映射

diameter=(area)/(x3)%计算出纸卷直径。

本发明可准确测量纸卷幅宽和直径,由于价格低廉,实时性强,可以应用在各种场合,经过反复实验比对,该套基于matlab的纸卷测幅宽的方法在校正后测量精度可达±20mm以内。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值