1.基于正交双目机器视觉的水果大小无损检测方法,其特征在于,具体步骤如下:步骤S100):搭建单目机器视觉系统单目机器视觉系统包括工业相机、相机高度调整机构、非镜面圆柱体、升降平台、光箱、计算机及刻度尺,其中,工业相机、相机高度调整机构、非镜面圆柱体、升降平台及用于测量距离的刻度尺分别置于光箱内,且位于工业相机正下方的非镜面圆柱体置于升降平台上,工业相机安装在相机高度调整机构上端,相机高度调整机构底端与升降平台底端处于同一水平线,内置有图像处理系统的计算机与工业相机连接;
步骤S200): 标定单目机器视觉系统单目机器视觉系统搭建完成后,将升降平台调节至最低点,并对其进行尺寸标定,以得到初始位置比例;
步骤S300):采集物体图像
工业相机实时抓取获取非镜面圆柱体图像信息;
步骤S400):利用MATLAB算法进行图像处理和合理算法计算图像处理系统基于MATLAB算法进行图像处理流程如下:读取彩色图像;
图像灰度化:通过对彩色图像进行B分量提取,得到灰度图;
二值化处理:通过二值化处理,得到二值化效果图;
降噪处理:对二值化效果图进行降噪处理;
轮廓提取:对降噪后的二值化效果图提取轮廓,得到标准轮廓图;
MATLAB算法处理:将提取标准轮廓图的特征量作为像素点数值,并多次计算相邻两个像素点的距离,求得两点距离的平均值,再按步骤S200)得到的初始位置比例进行计算,得到非镜面圆柱体直径;
所述步骤S400)过程代码如下:
I=3.6*imread(' cylinder.jpg');
BColor=I(:,:,3); %提取b分量level = graythresh(BColor); %计算最佳阈值levelBW = im2bw(BColor,level); %灰度图转换为二值图%选择最大连通分量,有效去除噪音区域[label,count,num]=bwlabel2(BW);idx=find(num==max(num));amxlabel=(label==idx);fill=imfill(amxlabel,'holes'); %孔洞填充、去噪点se=ones(3); %腐蚀所用的结构元erode=imerode2(fill,se,1); %对图像进行1次腐蚀edge=fill-erode; %获得图像连续边界figure,imshow(edge),title('轮廓图');
[x,y]=find(edge==1); %BW2为要处理的二值化矩阵M=[x,y];N=[x,y];
len=fix(length(M)/2); %fix截0取整k=1; S(1,len*len)=0; %预分配内存提高运算速度for i=1:len,
le=fix(len/2);
for j=le:(2*len), k=k+1;
S(k)=sqrt((M(i,1)-N(j,1))^2+(M(i,2)-N(j,2))^2);
end
end
P=sort(S(:),'descend'); %将S矩阵从大到小排列 其中S(:)表示矩阵S的所有元素d0=mean(P(1:20000)); %平均前20000个数字A=188.667; %直径,按188.667:1计算d=d0/A
步骤S500): 测定高度比例系数k调节升降平台,依次将升降平台高度递增0.1cm,在重复上述步骤S300)~步骤S400),以得到对应高度的非镜面圆柱体直径,进行多次实验后,对所测得的数据进行分析处理,升降平台高度H为横轴,取高度比例系数k为纵轴,其中,高度比例系数k=计算直径/实际直径,而后对所得实验数据进行Polynomial拟合,获得高度比例系数k=0.1007*H+0.9264;
步骤S600):搭建双目机器视觉采集系统所述双目机器视觉系统包括正向工业相机、密封箱体、待测水果、前向水果横向中心位置检测机构、传送带、后向水果横向中心位置检测机构、侧向工业相机、显示处理机及电机,待测水果置于设置在密封箱体底板上的传送带上,传送带与电机连接,前向水果横向中心位置检测机构和后向水果横向中心位置检测机构设置在传送带两侧;在密封箱体的上部安装有正向工业相机,在密封箱体的右侧安装有侧向工业相机,且正向工业相机与侧向工业相机的中轴线正交;内置有图像采集模块的正向工业相机与侧向工业相机分别连接显示处理机,显示处理机内置有对图像实时进行处理的图像处理模块;
步骤S700):利用中轴线处于正交的正向工业相机和侧向工业相机实时抓取待测水果的正面、侧面图像,以获取非镜面圆柱体图像信息;
步骤S800): MATLAB算法处理图像处理模块基于MATLAB算法进行图像处理流程如下:a)获取待测水果的俯视、侧视标准轮廓图读取彩色图像;
图像灰度化:通过对彩色图像进行B分量提取,得到灰度图;
二值化处理:通过二值化处理,得到二值化效果图;
降噪处理:对二值化效果图进行降噪处理;
轮廓提取:对降噪后的二值化效果图提取轮廓,得到俯视标准轮廓图与侧视标准轮廓图;
b)对侧视标准轮廓图数据处理,得到最大果径面至水果底部的距离,称为果径面高度;
c)对俯视标准轮廓图数据处理,得到计算果径,结合果径面高度,引入高度比例系数k,对计算果径进行修正,即得到误差较小的水果直径,具体代码如下:[x,y]=find(edge==1);M=[x,y];N=[x,y];
len=fix(length(M)/2);k=1; S(1,len*len)=0;for i=1:len,
le=fix(len/2); for j=le:(2*len), k=k+1;
S(k)=sqrt((M(i,1)-N(j,1))^2+(M(i,2)-N(j,2))^2); end
end
P=sort(S(:),'descend');d0=mean(P(1:20000));d=d0/188.667;
k=0.1007*H+0.9264;d=d/k。
2.根据权利要求1所述的基于正交双目机器视觉的水果大小无损检测方法,其特征在于,正向工业相机与侧向工业相机上分别安装有用于补光的光源,且光源为无极调光灯源。
3.根据权利要求1所述的基于正交双目机器视觉的水果大小无损检测方法,其特征在于,密封箱体采用黑色材质制成。
4.根据权利要求1所述的基于正交双目机器视觉的水果大小无损检测方法,其特征在于,工业相机上安装有用于补光的环形LED无极调光光源。
5.根据权利要求1所述的基于正交双目机器视觉的水果大小无损检测方法,其特征在于,前向水果横向中心位置检测机构和后向水果横向中心位置检测机构上分别设置有触碰传感器。
6.根据权利要求1所述的基于正交双目机器视觉的水果大小无损检测方法,其特征在于,后向水果横向中心位置检测机构位于相机拍照中心点下方。
7.根据权利要求1所述的基于正交双目机器视觉的水果大小无损检测方法,其特征在于,所述步骤S200)中得到初始位置比例A工作原理如下:在刻度尺上取两点,两点间长度为L,采集非镜面圆柱体图片,读取此两点之间的像素坐标差值 ,则在距升降平台距离为0时,像素坐标与实际坐标的初始位置比例A为:。
8.根据权利要求1所述的基于正交双目机器视觉的水果大小无损检测方法,其特征在于,所述步骤S800)中,计算最大果径面高度H:首先,以竖直方向计算各点之间的距离,找出最大距离,最大距离两点的连线,在三维中形成一个面,即为水果的最大果径面,最大果径面与最低面的距离即为最大果径面高度H,具体代码如下:[x,y]=find(edge==1);
M=[x,y];N=[x,y];
len=fix(length(M)/2);
k=1; S(1,len*len)=0;
%找出果径面
p=0;
for g=1:len,
for i=1:len,
if M(g,1)==N(i,1), S(k)=abs(M(g,2)-N(i,2));
if S(k)>p p=M(g,1);
end
k=k+1;
end
end
end
%求各点与果径面的距离
k2=1; S2(1,len)=0;
len2=length(M);
for g=1:len2,
S2(k2)=abs(M(p,1)-N(g,1));
k2=k2+1;
end
d0=max(S2);
A=188.667;
d=d0/ A;
H=d/2。