CN105466523B - 基于单摄像机图像的堆粮高度的测量方法和装置 - Google Patents
基于单摄像机图像的堆粮高度的测量方法和装置 Download PDFInfo
- Publication number
- CN105466523B CN105466523B CN201410466772.4A CN201410466772A CN105466523B CN 105466523 B CN105466523 B CN 105466523B CN 201410466772 A CN201410466772 A CN 201410466772A CN 105466523 B CN105466523 B CN 105466523B
- Authority
- CN
- China
- Prior art keywords
- camera
- pixel
- image
- coordinate system
- grain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种基于单摄像机图像的堆粮高度的测量方法和装置。该方法包括:通过粮仓中安装的摄像机拍摄图像,根据图像中像素点的像素值的变化特征,利用图像分割技术将图像分割成两个区域,按照设定的像素点选取规则在两个区域的边界上选取多个边界点;获取每个边界点的像素坐标,根据像素坐标系与摄像机坐标系之间的映射关系,将每个边界点的像素坐标转换为摄像机坐标;根据摄像机坐标系与世界坐标系之间的映射关系,将每个边界点的摄像机坐标转换为世界坐标;根据各个边界点的世界坐标得到粮仓中的堆粮高度线。本发明实施例能够自动、快速、直观地测量出粮堆上边界的高度,从而有效地测量出当前粮仓中的堆粮高度。
Description
技术领域
本发明涉及粮食仓储管理领域,尤其涉及一种基于单摄像机图像的堆粮高度的测量方法和装置。
背景技术
粮食仓储管理的自动化水平目前仍有待提升。堆粮高度测量、粮食出入仓信息记录等都依赖人工完成,阻碍了粮食物流组织化程度的发展。堆粮高度线,也称存粮线,是堆粮高度测量和控制、粮食出入仓检测等的重要参考标志线,其位置的检测对粮仓智能监控和监管有重要作用。
在粮食清仓查库工作中,常用体积密度法对满仓时粮食的重量进行粗略估算。具体的方法是首先目测估计或人工测量粮面与堆粮高度线的距离,再通过参考粮仓内堆粮高度线的高度,计算出堆粮高度,然后根据粮仓的长、宽或者直径,利用体积公式计算出粮食体积,最后乘上密度,即计算出粮食重量。这种方式测算得到的堆粮高度的准确度和人为因素关系密切,并且一般只有少量离散点的高度数据,所以后续计算结果的准确度也随之降低。
另外,还可利用激光测距原理,通过融合多台三维激光扫描仪或单台多次扫描得到的点云数据,对粮仓内的三维信息进行重构。三维激光扫描仪和重构算法的选择都会直接影响重构结果。这种方法可以不受粮堆形状的限制,但是它需要昂贵的设备支持,并且算法复杂度很高,很难应用于粮仓的日常运营管理中。
发明内容
本发明的实施例提供了一种基于单摄像机图像的堆粮高度的测量方法和装置,以实现有效地测量出当前粮仓中的堆粮高度。
本发明提供了如下方案:
一种基于单摄像机图像的堆粮高度的测量方法,在粮仓中安装摄像机,设置所述摄像机拍摄的图像中像素点的像素坐标系与摄像机坐标系之间的映射关系,设置摄像机坐标系与世界坐标系之间的映射关系,包括:
通过粮仓中安装的摄像机拍摄图像,所述图像至少覆盖粮仓墙壁的底边和堆粮高度线;
根据所述图像中像素点的像素值的变化特征,利用图像分割技术将所述图像分割成两个区域,按照设定的像素点选取规则在所述两个区域的边界上选取多个边界点;
获取每个边界点的像素坐标(u,v),根据所述像素坐标系与摄像机坐标系之间的映射关系,将每个边界点的像素坐标(u,v)转换为摄像机坐标(x/z,y/z);
根据所述摄像机坐标系与世界坐标系之间的映射关系,将每个边界点的摄像机坐标(x/z,y/z)转换为世界坐标(X,Y);
根据各个边界点的世界坐标(X,Y)得到所述粮仓中的堆粮高度线。
所述的设置所述摄像机拍摄的图像中像素点的像素坐标系与摄像机坐标系之间的映射关系,包括:
用(u,v)表示图像中像素点的像素坐标,用(x,y,z)表示摄像机坐标,从(x,y,z)到(u,v)的映射为
公式1
公式2
其中,r是图像中像素点距像素坐标原点的距离,且fx和fy分别是摄像机水平和竖直方向的焦距,cx和cy分别是摄像机水平和竖直方向的基点坐标,k1,k2,k3,k4,k5,k6,p1,p2是所述摄像机用于矫正镜头畸变的参数。
所述的设置摄像机坐标系与世界坐标系之间的映射关系,包括:
在所述摄像机拍摄的空仓时的图像中,从墙壁的左下角和右下角,以及堆粮高度线的4个角中选择出6个标志点,获取每个标志点的像素坐标(u,v);
根据所述像素坐标系与摄像机坐标系之间的映射关系,获取每个标志点的摄像机坐标(x/z,y/z);
将墙壁的左下角设为世界坐标原点O,O点的坐标为X=0,Y=0,Z=0,设墙壁上所有点的世界坐标Z=0,X轴的正方向为水平向右,Y轴的正方向为垂直向上,根据每个标志点的位置获取每个标志点的世界坐标;
设标志点的世界坐标系与摄像机坐标系之间的映射关系为:
其中,R=[r1,r2,r3]是3*3的旋转矩阵,t是3*1的平移向量,
对每一个标志点,有
公式3
其中,A=k[r1,r2,t]是一个3*3的矩阵,k是比例系数;
所述6标志点的(X,Y)与(x/z,y/z)的对应关系构成了6个线性约束,该6个线性约束组成了非齐次线性方程,解该非齐次线性方程,求得A的最小二乘解。
所述的根据所述图像中像素点的像素值的变化特征,利用图像分割技术将所述图像分割成两个区域,包括:
通过所述图像中像素点之间的位置和相似度关系,使用图像分割算法将整个所述图像分割成若干小区域,每个小区域用一个像素值表示,用预先训练的分类器对各小区域进行分类,将各小区域分类为粮堆和墙壁,将被分类为粮堆的所有小区域合并形成粮堆区域,将被分类为墙壁和堆粮高度线的所有小区域合并形成墙壁区域。
所述的根据各个边界点的世界坐标(X,Y)得到所述粮仓中的堆粮高度线,包括:
将所有边界点的世界坐标(X,Y)点按X的大小进行升序排序,得到(X,Y)的点集S。设粮堆高度线的右上角的世界坐标为(X0,Y0),在高为X0,宽为Y0的二维矩形中,将S中各边界点的纵坐标处画点,并顺序连线,该连线即为粮仓中粮堆的上边界线,根据该上边界线得到各个水平点对应的堆粮高度。
一种基于单摄像机图像的堆粮高度的测量装置,包括:
坐标映射关系设置模块,用于设置粮仓中安装的摄像机拍摄的图像中像素点的像素坐标系与摄像机坐标系之间的映射关系,设置摄像机坐标系与世界坐标系之间的映射关系;
图像分割模块,用于获取粮仓中安装的摄像机所拍摄的图像,所述图像至少覆盖粮仓墙壁的底边和堆粮高度线;根据所述图像中像素点的像素值的变化特征,利用图像分割技术将所述图像分割成两个区域;
坐标转换模块,用于按照设定的像素点选取规则在所述两个区域的边界上选取多个边界点,获取每个边界点的像素坐标(u,v),根据所述像素坐标系与摄像机坐标系之间的映射关系,将每个边界点的像素坐标(u,v)转换为摄像机坐标(x/z,y/z);根据所述摄像机坐标系与世界坐标系之间的映射关系,将每个边界点的摄像机坐标(x/z,y/z)转换为世界坐标(X,Y);
堆粮高度线获取模块,用于根据各个边界点的世界坐标(X,Y)得到所述粮仓中的堆粮高度线。
所述的坐标映射关系设置模块,用于设置所述摄像机拍摄的图像中像素点的像素坐标系与摄像机坐标系之间的映射关系,用(u,v)表示图像中像素点的像素坐标,用(x,y,z)表示摄像机坐标,从(x,y,z)到(u,v)的映射为:
公式1
公式2
其中,r是图像中像素点距像素坐标原点的距离,且fx和fy分别是摄像机水平和竖直方向的焦距,cx和cy分别是摄像机水平和竖直方向的基点坐标,k1,k2,k3,k4,k5,k6,p1,p2是所述摄像机用于矫正镜头畸变的参数。
所述的坐标映射关系设置模块,用于设置摄像机坐标系与世界坐标系之间的映射关系,在所述摄像机拍摄的空仓时的图像中,从墙壁的左下角和右下角,以及堆粮高度线的4个角中选择出6个标志点,获取每个标志点的像素坐标(u,v);
根据所述像素坐标系与摄像机坐标系之间的映射关系,获取每个标志点的摄像机坐标(x/z,y/z);
将墙壁的左下角设为世界坐标原点O,O点的坐标为X=0,Y=0,Z=0,设墙壁上所有点的世界坐标Z=0,X轴的正方向为水平向右,Y轴的正方向为垂直向上,根据每个标志点的位置获取每个标志点的世界坐标;
设标志点的世界坐标系与摄像机坐标系之间的映射关系为:
其中,R=[r1,r2,r3]是3*3的旋转矩阵,t是3*1的平移向量,
对每一个标志点,有
公式3
其中,A=k[r1,r2,t]是一个3*3的矩阵,k是比例系数;
所述6标志点的(X,Y)与(x/z,y/z)的对应关系构成了6个线性约束,该6个线性约束组成了非齐次线性方程,解该非齐次线性方程,求得A的最小二乘解。
所述的图像分割模块,具体用于通过所述图像中像素点之间的位置和相似度关系,使用图像分割算法将整个所述图像分割成若干小区域,每个小区域用一个像素值表示,用预先训练的分类器对各小区域进行分类,将各小区域分类为粮堆和墙壁,将被分类为粮堆的所有小区域合并形成粮堆区域,将被分类为墙壁和堆粮高度线的所有小区域合并形成墙壁区域。
所述的堆粮高度线获取模块,具体用于将所有边界点的世界坐标(X,Y)点按X的大小进行升序排序,得到(X,Y)的点集S。设粮堆高度线的右上角的世界坐标为(X0,Y0),在高为X0,宽为Y0的二维矩形中,将S中各边界点的纵坐标处画点,并顺序连线,该连线即为粮仓中粮堆的上边界线,根据该上边界线得到各个水平点对应的堆粮高度。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过利用标定点预先计算出摄像机的内外参数,可以实现无需人工干预完成边界点的像素坐标和世界坐标之间的转换,能够自动、快速、直观地测量出粮堆上边界的高度,并且算法简单实用,从而有效地测量出当前粮仓中的堆粮高度,有效地应用于粮仓的日常运营管理中。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种基于单摄像机图像的堆粮高度的测量方法的处理流程图;
图2为本发明实施例一提供的一种单摄像机对设置堆粮高度线的墙面进行拍照的示意图;
图3为本发明实施例一提供的一种在空仓时的图像中,人工点选出墙壁的左下角和右下角,以及堆粮高度线的4个角共6个标志点的示意图;
图4为本发明实施例二提供的一种基于单摄像机图像的堆粮高度的测量装置的具体结构图,图中,坐标映射关系设置模块41,图像分割模块42,坐标转换模块43,堆粮高度线获取模块44。
具体实施方式
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
实施例一
本发明实施例提供的一种基于单摄像机图像的堆粮高度的测量方法的处理流程如图1所示,包括如下的处理步骤:
步骤S110、在粮仓中一墙壁顶部安装一台摄像机,要求摄像机始终固定,且使拍摄到的图像至少覆盖对面墙壁的底边和堆粮高度线。该实施例提供的一种单摄像机对设置堆粮高度线的墙面进行拍照的示意图,摄像机覆盖的区域如图2中阴影区域所示。
将摄像机与计算机连接,使计算机能够获取摄像机拍摄的图像,堆粮高度线的计算由计算机完成。本发明实施例使用的计算流程包括两个模块,即标定模块和测量模块。在空仓时使用标定模块对摄像机内外参数进行初始化,在满仓时使用测量模块对堆粮高度进行测量。
步骤S120、使用标定模块对摄像机内外参数进行初始化。
步骤一、求解摄像机内参数
本步骤中求解的摄像机内参数反映了像素坐标系与摄像机坐标系之间的映射关系。
用(u,v)表示像素坐标;用(x,y,z)表示摄像机坐标。从(x,y,z)到(u,v)的映射为
公式1
公式2
其中,r是距像素坐标原点的距离,且fx和fy分别是摄像机水平和竖直方向的焦距,cx和cy分别是摄像机水平和竖直方向的基点坐标(一般为图像中心),k1,k2,k3,k4,k5,k6,p1,p2是用于矫正镜头畸变的参数。
fx,fy,cx,cy,k1,k2,k3,k4,k5,k6,p1,p2是需要求解的摄像机内参数,优选棋盘法对这些内参数进行求解,步骤为首先制作一个形如国际象棋棋盘的黑白相间的棋盘,棋盘大小优选9×6格,然后将棋盘置于摄像机前方,检测出8×5=40个角点,记录下所有角点在图像中的位置,改变棋盘位置和角度,重复检测和记录5次,最后根据这5次采集的图像角点与实际棋盘角点的位置对应关系,求解摄像机内参数。
步骤二、根据点选的标志点求解摄像机外参数。
堆粮高度线有特定的颜色和形状,一般为水平涂刷在墙壁上的固定宽度的深红色长条,堆粮高度线是堆粮高度的上限。本发明实施例是要测量粮仓中实时的堆粮高度,不是测量堆粮高度线。
如图2所示,在空仓时的图像中,从墙壁的左下角和右下角,以及堆粮高度线的4个角选择出6个标志点。并将由墙壁左下角、墙壁右下角、堆粮高度线左上角、堆粮高度线右上角围成的四边形图像区域作为感兴趣区域,感兴趣区域将在测量模块中使用。
对于每个标志点,根据其像素坐标(u,v)和步骤一中求解的摄像机内参数,反向映射得到(x/z,y/z)。
步骤三、求解摄像机外参数
本步骤中求解的摄像机外参数反映了世界坐标系与摄像机坐标系之间的映射关系。
用(X,Y,Z)表示世界坐标。从(X,Y,Z)到(x,y,z)的映射为
其中,R=[r1,r2,r3]是3*3的旋转矩阵,t是3*1的平移向量,[R,t]也称摄像机外参数。将墙壁的左下角设为世界坐标原点O,O点的坐标为X=0,Y=0,Z=0。设墙壁上所有点的世界坐标Z=0,X轴的正方向为水平向右,Y轴的正方向为垂直向上。
根据粮仓的设计要求,墙壁的宽度、堆粮高度线的高度和线宽是固定且已知的。因此,上述步骤二中每个标志点对应的世界坐标(X,Y)是已知的,为标志点的实际水平位置和垂直位置。
由于Z=0,对每一个标志点,有
公式3
其中,A=k[r1,r2,t]是一个3*3的矩阵,k是比例系数。步骤二中6个标志点的(X,Y)与(x/z,y/z)的对应关系构成了12组线性约束,该12组线性约束组成了超定非齐次线性方程,解该超定非齐次线性方程,求得A的最小二乘解,即为需要求解的摄像机外参数。由于上述设墙壁上所有点的世界坐标Z=0,从(X,Y,Z)到(x,y,z)的映射简化成了从(X,Y)到(x/z,y/z)的映射,所以[R,t]被简化成了A,r3不需要了。
步骤S130、根据所述图像中像素点的像素值的变化特征,利用图像分割技术将所述图像分割成两个区域,按照设定的像素点选取规则在所述两个区域的边界上选取多个边界点。
用上述摄像机拍摄图像,拍摄到的图像至少覆盖对面墙壁的底边和堆粮高度线。
根据所述图像中像素点的像素值的变化特征,将图像中的感兴趣区域分割成两个区域,上述两个区域的边界即为粮堆的上边界和墙壁的分界。预先训练一个分类器,优选图像像素点颜色作为特征、支持向量机作为分类器,用于分类墙壁、堆粮高度线和粮堆的图像像素点。具体的分割方法是,首先使用图像分割算法对图像进行过分割,上述图像分割算法优选均值漂移算法,也就是将通过像素点之间的位置和相似度关系,将整个图像分割成若干小区域,每个小区域用一个像素值表示,相当于对图像做了一次平滑处理,然后用预先训练的分类器对各小区域进行分类,分类为粮堆和墙壁。最后将被分类为粮堆的所有小区域合并形成粮堆区域,将被分类为墙壁和堆粮高度线的所有小区域合并形成墙壁区域。注意,空仓时可能只有墙壁区域,没有粮堆区域,满仓时可能只有粮堆区域,没有墙壁区域。
按照设定的像素点选取规则在上述两个区域的交接边界上选取多个边界点,比如,在上述两个区域的交接边界上每隔固定距离选取一个边界点。
步骤S140、获取上述两个区域的交接边界上选取的每个边界点的像素坐标(u,v),根据上述公式1和公式2反向映射得到每个边界点的摄像机坐标(x/z,y/z)。再根据上述公式3得到每个边界点的世界坐标(X,Y)。
步骤S150、根据各个边界点的世界坐标(X,Y)得到所述粮仓中的堆粮高度线。
将所有边界点的世界坐标(X,Y)点按X的大小进行升序排序,得到(X,Y)的点集S。设粮堆高度线的右上角的世界坐标为(X0,Y0),在高为X0,宽为Y0的二维矩形中,将S中各边界点的纵坐标处画点,并顺序连线,该连线即为粮仓中粮堆的上边界线,根据该上边界线可以得到各个水平点对应的堆粮高度。
实施例二
该实施例提供的一种堆粮高度的测量装置,其具体结构如图4所示,包括如下的模块:
坐标映射关系设置模块41,用于设置粮仓中安装的摄像机拍摄的图像中像素点的像素坐标系与摄像机坐标系之间的映射关系,设置摄像机坐标系与世界坐标系之间的映射关系;
图像分割模块42,用于获取粮仓中安装的摄像机所拍摄的图像,所述图像至少覆盖粮仓墙壁的底边和堆粮高度线;根据所述图像中像素点的像素值的变化特征,利用图像分割技术将所述图像分割成两个区域;
坐标转换模块43,用于按照设定的像素点选取规则在所述两个区域的边界上选取多个边界点,获取每个边界点的像素坐标(u,v),根据所述像素坐标系与摄像机坐标系之间的映射关系,将每个边界点的像素坐标(u,v)转换为摄像机坐标(x/z,y/z);根据所述摄像机坐标系与世界坐标系之间的映射关系,将每个边界点的摄像机坐标(x/z,y/z)转换为世界坐标(X,Y);
堆粮高度线获取模块44,用于根据各个边界点的世界坐标(X,Y)得到所述粮仓中的堆粮高度线。
进一步地,所述的坐标映射关系设置模块41,用于设置所述摄像机拍摄的图像中像素点的像素坐标系与摄像机坐标系之间的映射关系,用(u,v)表示图像中像素点的像素坐标,用(x,y,z)表示摄像机坐标,从(x,y,z)到(u,v)的映射为:
公式1
公式2
其中,r是图像中像素点距像素坐标原点的距离,且fx和fy分别是摄像机水平和竖直方向的焦距,cx和cy分别是摄像机水平和竖直方向的基点坐标,k1,k2,k3,k4,k5,k6,p1,p2是所述摄像机用于矫正镜头畸变的参数。
进一步地,所述的坐标映射关系设置模块41,用于设置摄像机坐标系与世界坐标系之间的映射关系,在所述摄像机拍摄的空仓时的图像中,从墙壁的左下角和右下角,以及堆粮高度线的4个角中选择出6个标志点,获取每个标志点的像素坐标(u,v);
根据所述像素坐标系与摄像机坐标系之间的映射关系,获取每个标志点的摄像机坐标(x/z,y/z);
将墙壁的左下角设为世界坐标原点O,O点的坐标为X=0,Y=0,Z=0,设墙壁上所有点的世界坐标Z=0,X轴的正方向为水平向右,Y轴的正方向为垂直向上,根据每个标志点的位置获取每个标志点的世界坐标;
设标志点的世界坐标系与摄像机坐标系之间的映射关系为:
其中,R=[r1,r2,r3]是3*3的旋转矩阵,t是3*1的平移向量,
对每一个标志点,有
公式3
其中,A=k[r1,r2,t]是一个3*3的矩阵,k是比例系数;
所述6标志点的(X,Y)与(x/z,y/z)的对应关系构成了6个线性约束,该6个线性约束组成了非齐次线性方程,解该非齐次线性方程,求得A的最小二乘解。
进一步地,所述的图像分割模块42,具体用于通过所述图像中像素点之间的位置和相似度关系,使用图像分割算法将整个所述图像分割成若干小区域,每个小区域用一个像素值表示,用预先训练的分类器对各小区域进行分类,将各小区域分类为粮堆和墙壁,将被分类为粮堆的所有小区域合并形成粮堆区域,将被分类为墙壁和堆粮高度线的所有小区域合并形成墙壁区域。
进一步地,所述的堆粮高度线获取模块44,具体用于将所有边界点的世界坐标(X,Y)点按X的大小进行升序排序,得到(X,Y)的点集S。设粮堆高度线的右上角的世界坐标为(X0,Y0),在高为X0,宽为Y0的二维矩形中,将S中各边界点的纵坐标处画点,并顺序连线,该连线即为粮仓中粮堆的上边界线,根据该上边界线得到各个水平点对应的堆粮高度。
用本发明实施例的装置进行堆粮高度线检测的具体过程与前述方法实施例类似,此处不再赘述。
综上所述,本发明实施例通过利用标定点预先计算出摄像机的内外参数,可以实现无需人工干预完成边界点的像素坐标和世界坐标之间的转换,能够自动、快速、直观地测量出粮堆上边界的高度,并且算法简单实用,从而有效地测量出当前粮仓中的堆粮高度,有效地应用于粮仓的日常运营管理中。
本发明实施例根据摄像机的内外参数的不同性质,分别采用不同类型的标定点进行了标定,使得标定过程更为简便。本发明实施例的设备成本较低,只需要一台摄像机连接一台计算机,就可以完成堆粮高度的测量功能。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及***实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (6)
1.一种基于单摄像机图像的堆粮高度的测量方法,其特征在于,在粮仓中安装摄像机,设置所述摄像机拍摄的图像中像素点的像素坐标系与摄像机坐标系之间的映射关系,设置摄像机坐标系与世界坐标系之间的映射关系,包括:
通过粮仓中安装的摄像机拍摄图像,所述图像至少覆盖粮仓墙壁的底边和堆粮高度线;
根据所述图像中像素点的像素值的变化特征,利用图像分割技术将所述图像分割成两个区域,按照设定的像素点选取规则在所述两个区域的边界上选取多个边界点;
获取每个边界点的像素坐标(u,v),根据所述像素坐标系与摄像机坐标系之间的映射关系,将每个边界点的像素坐标(u,v)转换为摄像机坐标(x/z,y/z);
根据所述摄像机坐标系与世界坐标系之间的映射关系,将每个边界点的摄像机坐标(x/z,y/z)转换为世界坐标(X,Y);
根据各个边界点的世界坐标(X,Y)得到所述粮仓中的堆粮高度线;
其中,所述的设置所述摄像机拍摄的图像中像素点的像素坐标系与摄像机坐标系之间的映射关系,包括:
用(u,v)表示图像中像素点的像素坐标,用(x,y,z)表示摄像机坐标,从(x,y,z)到(u,v)的映射为
其中,r是图像中像素点距像素坐标原点的距离,且fx和fy分别是摄像机水平和竖直方向的焦距,cx和cy分别是摄像机水平和竖直方向的基点坐标,k1,k2,k3,k4,k5,k6,p1,p2是所述摄像机用于矫正镜头畸变的参数;
所述的设置摄像机坐标系与世界坐标系之间的映射关系,包括:
在所述摄像机拍摄的空仓时的图像中,从墙壁的左下角和右下角,以及堆粮高度线的4个角中选择出6个标志点,获取每个标志点的像素坐标(u,v);
根据所述像素坐标系与摄像机坐标系之间的映射关系,获取每个标志点的摄像机坐标(x/z,y/z);
将墙壁的左下角设为世界坐标原点O,O点的坐标为X=0,Y=0,Z=0,设墙壁上所有点的世界坐标Z=0,X轴的正方向为水平向右,Y轴的正方向为垂直向上,根据每个标志点的位置获取每个标志点的世界坐标;
设标志点的世界坐标系与摄像机坐标系之间的映射关系为:
其中,R=[r1,r2,r3]是3*3的旋转矩阵,t是3*1的平移向量,
对每一个标志点,有
其中,A=k[r1,r2,t]是一个3*3的矩阵,k是比例系数;
所述6个标志点的(X,Y)与(x/z,y/z)的对应关系构成了6个线性约束,该6个线性约束组成了非齐次线性方程,解该非齐次线性方程,求得A的最小二乘解。
2.根据权利要求1所述的基于单摄像机图像的堆粮高度的测量方法,其特征在于,所述的根据所述图像中像素点的像素值的变化特征,利用图像分割技术将所述图像分割成两个区域,包括:
通过所述图像中像素点之间的位置和相似度关系,使用图像分割算法将整个所述图像分割成若干小区域,每个小区域用一个像素值表示,用预先训练的分类器对各小区域进行分类,将各小区域分类为粮堆和墙壁,将被分类为粮堆的所有小区域合并形成粮堆区域,将被分类为墙壁和堆粮高度线的所有小区域合并形成墙壁区域。
3.根据权利要求1或2所述的基于单摄像机图像的堆粮高度的测量方法,其特征在于,所述的根据各个边界点的世界坐标(X,Y)得到所述粮仓中的堆粮高度线,包括:
将所有边界点的世界坐标(X,Y)点按X的大小进行升序排序,得到(X,Y)的点集S;设粮堆高度线的右上角的世界坐标为(X0,Y0),在高为X0,宽为Y0的二维矩形中,将S中各边界点的纵坐标处画点,并顺序连线,该连线即为粮仓中粮堆的上边界线,根据该上边界线得到各个水平点对应的堆粮高度。
4.一种基于单摄像机图像的堆粮高度的测量装置,其特征在于,包括:
坐标映射关系设置模块,用于设置粮仓中安装的摄像机拍摄的图像中像素点的像素坐标系与摄像机坐标系之间的映射关系,设置摄像机坐标系与世界坐标系之间的映射关系;
图像分割模块,用于获取粮仓中安装的摄像机所拍摄的图像,所述图像至少覆盖粮仓墙壁的底边和堆粮高度线;根据所述图像中像素点的像素值的变化特征,利用图像分割技术将所述图像分割成两个区域;
坐标转换模块,用于按照设定的像素点选取规则在所述两个区域的边界上选取多个边界点,获取每个边界点的像素坐标(u,v),根据所述像素坐标系与摄像机坐标系之间的映射关系,将每个边界点的像素坐标(u,v)转换为摄像机坐标(x/z,y/z);根据所述摄像机坐标系与世界坐标系之间的映射关系,将每个边界点的摄像机坐标(x/z,y/z)转换为世界坐标(X,Y);
堆粮高度线获取模块,用于根据各个边界点的世界坐标(X,Y)得到所述粮仓中的堆粮高度线;
所述的坐标映射关系设置模块,用于设置所述摄像机拍摄的图像中像素点的像素坐标系与摄像机坐标系之间的映射关系,用(u,v)表示图像中像素点的像素坐标,用(x,y,z)表示摄像机坐标,从(x,y,z)到(u,v)的映射为:
其中,r是图像中像素点距像素坐标原点的距离,且fx和fy分别是摄像机水平和竖直方向的焦距,cx和cy分别是摄像机水平和竖直方向的基点坐标,k1,k2,k3,k4,k5,k6,p1,p2是所述摄像机用于矫正镜头畸变的参数;
所述的坐标映射关系设置模块,用于设置摄像机坐标系与世界坐标系之间的映射关系,在所述摄像机拍摄的空仓时的图像中,从墙壁的左下角和右下角,以及堆粮高度线的4个角中选择出6个标志点,获取每个标志点的像素坐标(u,v);
根据所述像素坐标系与摄像机坐标系之间的映射关系,获取每个标志点的摄像机坐标(x/z,y/z);
将墙壁的左下角设为世界坐标原点O,O点的坐标为X=0,Y=0,Z=0,设墙壁上所有点的世界坐标Z=0,X轴的正方向为水平向右,Y轴的正方向为垂直向上,根据每个标志点的位置获取每个标志点的世界坐标;
设标志点的世界坐标系与摄像机坐标系之间的映射关系为:
其中,R=[r1,r2,r3]是3*3的旋转矩阵,t是3*1的平移向量,
对每一个标志点,有
其中,A=k[r1,r2,t]是一个3*3的矩阵,k是比例系数;
所述6个标志点的(X,Y)与(x/z,y/z)的对应关系构成了6个线性约束,该6个线性约束组成了非齐次线性方程,解该非齐次线性方程,求得A的最小二乘解。
5.根据权利要求4所述的基于单摄像机图像的堆粮高度的测量装置,其特征在于:
所述的图像分割模块,具体用于通过所述图像中像素点之间的位置和相似度关系,使用图像分割算法将整个所述图像分割成若干小区域,每个小区域用一个像素值表示,用预先训练的分类器对各小区域进行分类,将各小区域分类为粮堆和墙壁,将被分类为粮堆的所有小区域合并形成粮堆区域,将被分类为墙壁和堆粮高度线的所有小区域合并形成墙壁区域。
6.根据权利要求4或5所述的基于单摄像机图像的堆粮高度的测量装置,其特征在于:
所述的堆粮高度线获取模块,具体用于将所有边界点的世界坐标(X,Y)点按X的大小进行升序排序,得到(X,Y)的点集S;设粮堆高度线的右上角的世界坐标为(X0,Y0),在高为X0,宽为Y0的二维矩形中,将S中各边界点的纵坐标处画点,并顺序连线,该连线即为粮仓中粮堆的上边界线,根据该上边界线得到各个水平点对应的堆粮高度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410466772.4A CN105466523B (zh) | 2014-09-12 | 2014-09-12 | 基于单摄像机图像的堆粮高度的测量方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410466772.4A CN105466523B (zh) | 2014-09-12 | 2014-09-12 | 基于单摄像机图像的堆粮高度的测量方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105466523A CN105466523A (zh) | 2016-04-06 |
CN105466523B true CN105466523B (zh) | 2019-09-17 |
Family
ID=55604473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410466772.4A Active CN105466523B (zh) | 2014-09-12 | 2014-09-12 | 基于单摄像机图像的堆粮高度的测量方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105466523B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107588732B (zh) * | 2016-07-07 | 2024-03-26 | 苏州华兴致远电子科技有限公司 | 轨边列车零部件高度测量方法和*** |
CN109472261B (zh) * | 2018-06-15 | 2020-09-18 | 河南工业大学 | 一种基于计算机视觉的粮仓储粮数量变化自动监测方法 |
CN109443476B (zh) * | 2018-10-17 | 2021-07-09 | 水利部交通运输部国家能源局南京水利科学研究院 | 一种水位波动过程非接触量测装置及方法 |
CN109459121A (zh) * | 2018-12-29 | 2019-03-12 | 中航电测仪器股份有限公司 | 一种飞机吊舱重量重心测量方法 |
CN109800688B (zh) * | 2019-01-03 | 2023-04-07 | 沈阳天骄科技有限公司 | 一种基于陀螺仪和深度值计算粮堆高度的识别方法 |
CN112734826B (zh) * | 2020-12-29 | 2022-05-31 | 华信咨询设计研究院有限公司 | 基于深度学习与lsd直线检测算法的粮食数量估算方法 |
CN117268498B (zh) * | 2023-11-20 | 2024-01-23 | 中国航空工业集团公司金城南京机电液压工程研究中心 | 一种油量测量方法及*** |
CN117968796A (zh) * | 2024-01-30 | 2024-05-03 | 重庆交通大学 | 一种钢管拱桥管内砼泵送液位的红外视觉定位方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101266131A (zh) * | 2008-04-08 | 2008-09-17 | 长安大学 | 一种基于图像的体积测量装置及其测量方法 |
CN101936761A (zh) * | 2009-06-30 | 2011-01-05 | 宝山钢铁股份有限公司 | 大型料场料堆视觉测量方法 |
CN102012213A (zh) * | 2010-08-31 | 2011-04-13 | 吉林大学 | 单副图像测量前景高度的方法 |
CN103033132A (zh) * | 2012-12-20 | 2013-04-10 | 中国科学院自动化研究所 | 基于单目视觉的平面测量方法及装置 |
CN103177439A (zh) * | 2012-11-26 | 2013-06-26 | 惠州华阳通用电子有限公司 | 一种基于黑白格角点匹配的自动标定方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101504383B1 (ko) * | 2007-11-14 | 2015-03-19 | 인터그래프 소프트웨어 테크놀로지스 캄파니 | 항공 측량 방법 및 장치 |
-
2014
- 2014-09-12 CN CN201410466772.4A patent/CN105466523B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101266131A (zh) * | 2008-04-08 | 2008-09-17 | 长安大学 | 一种基于图像的体积测量装置及其测量方法 |
CN101936761A (zh) * | 2009-06-30 | 2011-01-05 | 宝山钢铁股份有限公司 | 大型料场料堆视觉测量方法 |
CN102012213A (zh) * | 2010-08-31 | 2011-04-13 | 吉林大学 | 单副图像测量前景高度的方法 |
CN103177439A (zh) * | 2012-11-26 | 2013-06-26 | 惠州华阳通用电子有限公司 | 一种基于黑白格角点匹配的自动标定方法 |
CN103033132A (zh) * | 2012-12-20 | 2013-04-10 | 中国科学院自动化研究所 | 基于单目视觉的平面测量方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105466523A (zh) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105466523B (zh) | 基于单摄像机图像的堆粮高度的测量方法和装置 | |
Alidoost et al. | Comparison of UAS-based photogrammetry software for 3D point cloud generation: a survey over a historical site | |
US11443133B2 (en) | Computer vision system for industrial equipment gauge digitization and alarms | |
Persson et al. | Tree species classification of individual trees in Sweden by combining high resolution laser data with high resolution near-infrared digital images | |
CN114241031B (zh) | 基于双视角融合的鱼类体尺测量和体重预测的方法及装置 | |
CN110322457A (zh) | 一种2d与3d视觉结合的拆垛方法 | |
CN110411339A (zh) | 一种基于平行激光束的水下目标尺寸测量设备及方法 | |
CN113435282B (zh) | 基于深度学习的无人机影像麦穗识别方法 | |
Lou et al. | Accurate multi-view stereo 3D reconstruction for cost-effective plant phenotyping | |
CN110199317A (zh) | 使用手持设备对木板的自动检测、计数和测量 | |
Nguyen et al. | Comparison of structure-from-motion and stereo vision techniques for full in-field 3d reconstruction and phenotyping of plants: An investigation in sunflower | |
CN112561983A (zh) | 一种测算表面弱纹理且不规则堆料体积的装置及方法 | |
CN109000621A (zh) | 一种电网树障检测方法 | |
CN115861409B (zh) | 大豆叶面积测算方法、***、计算机设备及存储介质 | |
CN115359333A (zh) | 基于多种类数据采集设备的多维度信息融合方法 | |
CN116071424A (zh) | 基于单目视觉的果实空间坐标定位方法 | |
CN115082777A (zh) | 基于双目视觉的水下动态鱼类形态测量方法及装置 | |
CN115471542A (zh) | 一种基于YOLO v5的包装物双目识别定位方法 | |
CN112149348A (zh) | 一种基于无人货柜场景的仿真空间模型训练数据生成方法 | |
Xiang et al. | PhenoStereo: a high-throughput stereo vision system for field-based plant phenotyping-with an application in sorghum stem diameter estimation | |
CN110136192A (zh) | 一种基于深度学习和特征部位检测的牛体尺算法 | |
CN113947770A (zh) | 一种识别物体放置于智能箱柜不同区域的方法 | |
CN111985472A (zh) | 基于人工智能和主动球机的食槽干草温度图像处理方法 | |
Chen et al. | Fusion of LIDAR data and high resolution images for forest canopy modelling | |
Albrecht et al. | Seeing the unseen: Simple reconstruction of transparent objects from point cloud data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |