图像深度是指存储每个像素所用的位数,也用于量度图像的色彩分辨率.图像深度确定彩色图像的每个像素可能有的颜色数,或者确定灰度图像的每个像素可能有的灰度级数.它决定了彩色图像中可出现的最多颜色数,或灰度图像中的最大灰度等级.比如一幅单色图像,若每个象素有8位,则最大灰度数目为2的8次方,即256.一幅彩色图像RGB3个分量的象素位数分别为4,4,2,则最大颜色数目为2的4+4+2次方,即1024,就是说像素的深度为10位,每个像素可以是1024种颜色中的一种。本文中的图像是深度图像,由二文点阵组成,每个点都有各自的灰度值,从0到255,随着值的增大颜色逐渐加深,且255的点代表有效点。
2.2.2 深度图像中点和边的特点
 深度图像中除了周围的边界点,其周围都有8个邻接点,分为上下左右、左上、右上、左下、右下这八个方向。且相邻点的之间的距离固定为1。比如一幅128*128的灰度图中一共有128*128即16384个顶点,每个点都有自己的灰度值,本文中规定灰度值为255即颜色为黑色的点为有效点。
2.2.3 深度图像中dijkstra算法的应用
上面已经对dijkstra算法有了研究,但是原来对应的是一幅图中的几个点,相邻的点有自己的权值,所以现在换成深度图像,那么点的总数就变成了图的宽度值与长度值的乘积了,且所有的边的值都变为1。那么如何将深度图像中的点读出来和显示出来呢?在这里我们要用到OpenCV的技术。在OpenCV中有很多图像处理和计算机视觉方面的通用算法,并且封装了很多用来处理图像的方法,首先,拿到一幅深度图像我们需要把它读入,这里可以调用OpenCV中的imread(imgName, CV_LOAD_IMAGE_GRAYSCALE)这个方法,括号中左边的参数是图像的绝对路径,右边的是选择需要显示时的图像格式,比如灰色,彩色等。读入图像后,每个点都可以用二文坐标来显示,也就是X轴和Y轴。得到点之后,还要取得这个点的灰度值,可以调用imageData.at<unsigned char>(y, x)方法。我们知道应用dijkstra算法需要知道图中有哪些节点和边的权值,所以这里我们可以对每个点进行编号,每个点在图中都有固定的X值和Y值,比如在一幅128*128的图像中,该点的编号可以用公式y*128+x得到,下面就是如何处理图中边的权值了,每条边的长度我们都定义为1,那么我们可以定义一个二文数组a[][],来存储这个信息,前面的中括号内放入始节点的下标,后面的括号内放入目标节点的下标。有了V和E我们便可以应用dijkstra算法了。
上一篇:智能手机电影订票系统网站设计
下一篇:基于Hough变换的静态交通标志检测方法研究

浅议网络游戏安全问题及防范措施【3230字】

索尼游戏营销策略研究+SWOT分析

eclipse面向网络信息内容共...

HTML5引擎的游戏系统设计+源程序

VC++五子棋游戏的设计

基于android平台的连连看游戏设计与实现

基于VC++五子连珠游戏的设计

中国学术生态细节考察《...

10万元能开儿童乐园吗,我...

C#学校科研管理系统的设计

神经外科重症监护病房患...

志愿者活动的调查问卷表

承德市事业单位档案管理...

AT89C52单片机的超声波测距...

国内外图像分割技术研究现状

公寓空调设计任务书

医院财务风险因素分析及管理措施【2367字】