github地址 https://github.com/HWenTing/Photo-Wake-Up
鉴于边界点等效果较差,采取两种措施
(1)使用bfs思想平滑图片。通过常识我们知道,相邻像素之间的深度值不会差别很大。从这种想法出发,选取基本点,然后用bfs方法减少相邻的像素之间的深度值差。主要代码如下
import queue
# 从中心点开始,bfs向外扩展,将变化大的点的深度值平滑
# x,y为图片中心,img为图片深度值,gap为相邻元素深度值最大差,diff为深度值差合理范围
def bfs_smooth(x,y,img,gap,diff):
q = queue.Queue()
visited = np.mat(np.zeros((x,y)))
mid_x = int(x/2)
mid_y = int(y/2)
q.put((mid_x,mid_y))
visited[mid_x,mid_y]=1
while not q.empty():
cx,cy = q.get()
before = img[cx][cy]
for i in range(-1,2):
for j in range(-1,2):
new_x = cx+i
new_y = cy+j
if(img[new_x][new_y]!=0 and visited[new_x,new_y] == 0 ):
visited[new_x,new_y] = 1
q.put((new_x,new_y))
if(abs(int(img[n

本文介绍了使用bfs算法优化图片深度值,解决边界点问题,提升图像效果。通过实例展示了优化后的正面、侧面及其他角度的效果,并提到深度值异常可能与相机参数相关,涉及多种坐标系转换。引用了几篇详细解释坐标系转换的博客链接。
最低0.47元/天 解锁文章
780





