matlab灰度图孔洞填充,一种深度图像空洞的自动填充方法与流程
本发明涉及深度图像空洞填充技术,从彩色图像的结构相似性出发,求解空洞像素点的多尺度结构相似性,将空洞像素分为平滑区域空洞像素和非平滑区域空洞像素,并针对不同的空洞像素,采用不同的填充算法。在平滑区域空洞的填充过程中,利用最短距离聚类算法对深度图像的像素深度进行聚类,并将像素间的结构相似性作为权重,对空洞像素的深度进行求解;对于非平滑区域像素,利用一阶泰勒逼近算法,结合双边滤波权重项的设计,求解平滑区域空洞像素深度值。
背景技术:
深度图像的出现为各类计算机视觉的应用开辟了新的道路,并在物体识别,三维重建等应用中发挥着重要的作用。近年来,深度图像的空洞填充备受关注,其目的是可以利用填补后的深度图像中的深度数据,为三维重建等过程提供有效的数据。由于深度图像的空洞含有很多重要的信息,提取这些信息,并将它们增强到三维重建的过程中,从而在重建过程中获取真实感细节,这样可以克服三维重建后部分细节信息丢失问题。目前深度图像的空洞填充技术的研究虽然取得了一些成果,但是如何充分利用深度图像对应的彩色图像增强空洞边缘细节信息,仍然是研究中亟待解决的关键问题。
技术实现要素:
本发明的目的是提供一种深度图像空洞的自动填充方法,该方法能够实现空洞的有效填充,可以在空洞填充过程中增强空洞处物体边缘的细节,克服填充后物体边缘细节突出的问题。
本发明的目的是这样实现的:
一种深度图像空洞的自动填充方法,特点是:对Kinect设备采集的深度图像中存在的空洞进行自动填充,具体包括以下步骤:
步骤1:将空洞分为平滑区空洞和非平滑区空洞
为了将空洞分为平滑区域空洞和非平滑区域空洞,首先,计算图像中任意像素与其周围邻域像素的结构相似性,然后,再根据多尺度结构相似性,将图像中空洞分为平滑区域空洞和非平滑区域空洞。
具体地,利用公式(1)计算图像中任意空洞像素p与它的任意3×3邻域中的像素qi(i=1,2...8)的结构相似性SSIM(p,qi);其中p的3×3邻域记为B1,qi的3×3邻域记为Bi;
SSIM(p,qi)=[l(B1,Bi)]α·[c(B1,Bi)]β·[s(B1,Bi)]γ (1)
其中α,β,γ是预设的权重,设为α=1,β=1,γ=1;l(B1,Bi)是亮度比较函数,计算为:
c(B1,Bi)是对比度比较函数,计算为:
s(B1,Bi)是结构比较函数,计算为:
其中,和分别是B1和Bi中所有像素灰度的平均值,和分别是B1和Bi中所有像素灰度的方差,σ是B1和Bi之间像素灰度的协方差;
其中C1=(K1L)2,C2=(K2L)2,K1是常量0.01,K2是常量0.02,L是常量255;
然后,计算多尺度结构相似性;具体地,利用B1中各个像素的结构相似性计算p点的多尺度结构相似性MSSIMp:
其中N表示p点邻域彩色图像中像素的个数;
利用预设阈值ε,将空洞像素分为平滑区域空洞像素和非平滑区域空洞像素;若满足MSSIMp>ε,那么p为平滑区空洞像素;若MSSIM
步骤2:对于深度图像中任意平滑区空洞进行填充
首先,利用最短距离算法对所有像素的深度进行聚类;对于深度图像中任意两个非空洞像素X和Y,如果它们满足公式(6),那么将它们聚为同一类;
|dX-dY|
其中dX表示像素X的深度值,dY表示像素Y的深度值,T表示两像素间深度差异的阈值。空洞像素p的深度F利用公式(7)计算;
Ei是有效像素qi的深度,n表示p点邻域中有效像素的个数;
步骤3:对于深度图像中任意非平滑区空洞进行填充
对于非平滑区域空洞像素点的填充,利用p点的邻域B1中有效像素qi进行求解,求解公式如下:
其中表示有效像素qi深度的梯度,w(p,qi)代表权重项,其计算为:
w(p,qi)=wd(p,qi)wc(p,qi)wm(p,qi) (9)
其中wd(p,qi),wc(p,qi)以及wm(p,qi)分别是距离权重项、颜色权重项和多尺度结构相似性权重项;它们的计算分别为:
其中符号||·||2表示2-范式;x表示p点的坐标,y表示qi点的坐标;表示当前像素p与域像素qi欧式距离的方差;表示像素p的邻域像素灰度的方差,是像素p的邻域像素多尺度结构相似性的方差;Ip和分别表示彩色图像中像素p和像素qi的灰度值;表示qi点的多尺度结构相似性。
本发明利用深度图像,能够实现空洞的有效填充,能在空洞填充过程中增强空洞处物体边缘的细节,克服填充后物体边缘细节突出的问题,进一步实施例证明了本发明的实验效果,实现深度图像空洞的有效填充,适用于包括Kinect获取的深度图像等。
附图说明
图1为本发明实施例Kinect获取的深度聚类结果图;
图2为本发明实施例Kinect获取的深度图像空洞填补结果图。
实施例
下面结合附图对于发明进一步说明。
本实施例采用Kinect获取的深度数据进行实验。在Windows7操作系统的PC机上进行实验,硬件配置是1.80GHzCoreTMi5-3337U CPU、4GB RAM。实验平台是VS2010。
本发明对Kinect设备采集的深度图像中存在的空洞,采用以下步骤进行处理,即可以实现空洞的自动填充。
步骤1:将空洞分为平滑区空洞和非平滑区空洞
为了将空洞分为平滑区域空洞和非平滑区域空洞,首先,计算图像中任意像素与其周围邻域像素的结构相似性,然后,再根据多尺度结构相似性,将图像中空洞分为平滑区域空洞和非平滑区域空洞。具体地,利用公式(1)计算图像中任意空洞像素p与它的任意3×3邻域中的像素qi(i=1,2...8)的结构相似性SSIM(p,qi)。其中p的3×3邻域记为B1,qi的3×3邻域记为Bi。
SSIM(p,qi)=[l(B1,Bi)]α·[c(B1,Bi)]β·[s(B1,Bi)]γ (1)
其中α,β,γ是预设的权重,设为α=1,β=1,γ=1。l(B1,Bi)是亮度比较函数,计算为:
c(B1,Bi)是对比度比较函数,计算为:
s(B1,Bi)是结构比较函数,计算为:
其中,和分别是B1和Bi中所有像素灰度的平均值,和分别是B1和Bi中所有像
素灰度的方差,σ是B1和Bi之间像素灰度的协方差。
其中C1=(K1L)2,C2=(K2L)2,K1是常量0.01,K2是常量0.02,L是常量255。
然后,计算多尺度结构相似性。具体地,利用B1中各个像素的结构相似性计算p点的多尺度结构相似性MSSIMp:
其中N表示p点邻域彩色图像中像素的个数。
进一步利用预设阈值ε,将空洞像素分为平滑区域空洞像素和非平滑区域空洞像素。具体地,如果满足MSSIMp>ε,那么p为平滑区空洞像素;如果MSSIM
步骤2:对于深度图像中任意平滑区空洞进行填充
首先,利用最短距离算法对所有像素的深度进行聚类;对于深度图像中任意两个非空洞像素X和Y,如果它们满足公式(6),那么将它们聚为同一类;
|dX-dY|
其中dX表示像素X的深度值,dY表示像素Y的深度值,T表示两像素间深度差异的阈值。空洞像素p的深度F利用公式(7)计算。
Ei是有效像素qi的深度,n表示p点邻域中有效像素的个数。
步骤3:对于深度图像中任意非平滑区空洞进行填充
对于非平滑区域空洞像素点的填充,利用p点的邻域B1中有效像素qi进行求解,求解公式如下:
其中表示有效像素qi深度的梯度,w(p,qi)代表权重项,其计算为:
w(p,qi)=wd(p,qi)wc(p,qi)wm(p,qi) (9)
其中wd(p,qi),wc(p,qi)以及wm(p,qi)分别是距离权重项、颜色权重项和多尺度结构相似性权重项。它们的计算分别为:
其中符号||·||2表示2-范式;x表示p点的坐标,y表示qi点的坐标;表示当前像素p与邻域像素qi欧式距离的方差;表示像素p的邻域像素灰度的方差,是像素p的邻域像素多尺度结构相似性的方差。Ip和分别表示彩色图像中像素p和像素qi的灰度值;表示qi点的多尺度结构相似性。
本发明利用深度图像,能在空洞填充过程中增强物体边缘的细节,能够实现空洞的有效填充,克服填充后物体边缘细节填充不准确的问题,进一步实例证明了本发明的实验效果,实现深度图像空洞边缘的有效填充,适用于包括Kinect获取的深度图像。
图1是利用Kinect采集的深度图像进行聚类的结果。在图1中,左图是利用Kinect采集得到的带有空洞的深度图像,右图是利用该方法处理时,得到的深度图像聚类的结果,从图中的深度聚类结果可以明显看出,利用本发明对深度图像进行深度聚类结果的有效性。
图2是本发明实施例对深度图像的空洞进行填充的结果图,在图2中,左图是利用Kinect采集得到的带有空洞的深度图像,右图是利用该方法处理得到的填充后的深度图像,在深度图像的自动分类结果中得到的结果图,从图中的结果可以看出,填充深度图结果边缘细节突出。
matlab灰度图孔洞填充,一种深度图像空洞的自动填充方法与流程相关推荐
- 条纹噪声图片_一种减弱图像竖条纹噪声的方法与流程
本发明涉及一种去除图像噪声的方法,具体涉及一种减弱图像竖条纹噪声的方法. 背景技术: :图像在形成.采集和传输的过程中,由于各种干扰因素的存在会受到一定程度噪声的干扰,这些干扰恶化了图像的质量,而且会 ...
- matlab正负序分离模块,一种自适应宽频带正负序分离方法与流程
本发明涉及电力系统并网控制领域,尤其涉及一种自适应宽频带正负序分离方法. 背景技术: 三相并网变流器在电力系统中得到了广泛应用,而三相并网变流器的控制需要检测电网电压同步信号,即基波电压的频率.幅值. ...
- matlab分析摆臂受力,一种消除摆臂球头受力测量误差的方法与流程
本发明涉及汽车测试技术领域,尤其涉及一种消除摆臂球头受力测量误差的方法. 背景技术: 摆臂球头是汽车悬架系统中连接摆臂与转向节的一个构件,其在汽车行驶过程中主要承受纵向力和侧向力.在进行摆臂球头的结构 ...
- matlab灰度图孔洞填充,OpenCV图像内轮廓填-孔洞填充
//test #include "stdafx.h" #include "cxcore.h" #include "cv.h" #includ ...
- 泊位 matlab,一种基于环视相机的自动泊车方法 | 厚势汽车
原标题:一种基于环视相机的自动泊车方法 | 厚势汽车 厚势按:针对泊车摄像头视场有限的问题,提出了一种基于环视相机的自动泊车方法.采用 4 个鱼眼摄像头,构建了一种环绕车身 360° 的实时视觉泊车辅 ...
- 自动点名用matlab怎么做,一种自动点名方法与流程
本发明涉及教育过程化监控领域,特别是涉及一种自动点名方法. 背景技术: 在日常的教学中,教师为统计学生的出席情况,会在课上对学生进行点名,以统计该节课的出席学生和缺席学生.这种方法一般通过直接点名确认 ...
- mybatis 自动填充无效_开发小知识-mybatis-plus自动填充与读写分离
mybatis-plus 自动填充 说明 我们在设计表结构的时候,往往会额外添多如下几个字段 create_time[表字段]-- createTime[实体字段] : 创建时间 update_tim ...
- 一种网络用户行为日志自动获取方法
摘要 本发明公开了一种网络用户行为日志自动获取方法,其特征在于:在客户端与Web服务器之间加上一代理服务器,代理服务器第一次接受Web服务器返回的响应正文为HTML格式的用户响应即HTTP响应,在该H ...
- 微分算法 非侵入式负荷识别_一种非侵入式用电负荷识别方法与流程
本发明涉及智能电网领域,具体地,涉及一种非侵入式用电负荷识别方法. 背景技术: 在智能电网环境下,智能量测设备会逐步得到广泛应用,从而能够得到用户负荷准确的.海量的数据.利用数据挖掘方法对用户负荷大数 ...
最新文章
- 在室内停车场使用道路标记语义进行厘米级建图和定位
- 去除QT不使用参数的警告
- eclipse svn异常:RA layer request failed 的解决方案
- OleCommand的SqlText占位符的问题
- WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session)的WCF服务
- java读取整数列表_Java-检查整数列表中的X类整数
- java 观察者模式示例_Java中的观察者设计模式-示例教程
- unicode字符、python乱码问题
- mybatis批量插入10万条数据的优化过程
- oracle的标准写法,oracle 表连接特有写法与标准写法
- 第1章 IO流概述及FileWriter类使用
- Matplotlib 中文用户指南 3.5 密致布局指南
- PostgreSQL逻辑优化——查询优化分析
- ElasticSearch High Level REST API【3】Scroll 滚屏
- 视频直播技术(三):低延时直播经验总结
- 视频去水印工具-视频去水印哪个软件好用免费
- <小甲鱼>C++实例练习6—华氏温度与摄氏温度转换程序
- php怎么联网,家庭宽带上网连接方式
- 测试iphone4电池的软件,iphone4电池容量 iphone4电池的更换【图文】
- 如何网页中嵌入谷歌地图