本帖最后由 wzwangsc 于 2016-3-4 07:30 编辑 3 l9 o# K; m; T
' N% p0 n6 [% t$ K3 [: e; ]# G 六、如何得到深度图
8 K0 P- u2 u. j9 E( o; O; ~$ Y: }# B
) \. { Q3 l3 r4 U) P- r1 i: G& b 目前有许多可用于转换深度图的软件,例如:StereoTracer、3D Gugle X等。由于深度图的计算相当复杂,尚没有完美的算法数学模型,故这些软件都无法真正给出精确的深度图,一般都需要后续的图形处理软件来补正,下面介绍两个得到深度图的软件:(1)SteroTracer;(2)3D Gugle X中的“Direct Depth Map”;前者可用于由立体图对确定的3D场景,后者用于对一个2D图形的平转立深度映射。
+ N/ V( I: t9 `/ B' `# r- o+ D( v8 e9 W& Q' q
1、使用软件“StereoTracer”得到立体图对的深度图
# ^3 p" B! {3 a- s; q, U
/ K6 k/ b+ _) I* F- L- h Triaxes StereoTracer是一款被设计用来由2D+深度图或由一幅立体图对,通过深度图来渲染多视点图形,从而创建立体(3D)图的软件。StereoTracer 可以产生一系列的图像帧,这些图像帧之间都具有微小的视角差异,这个处理类似于在一条水平线上的不同点处,对同一个场景进行摄影,所得的系列帧可以用于诸如“3DMasterKit”或其它3D程序中,以创建3D图像。
" ]8 i2 Y0 x2 {$ Z' z( ]8 E 在StereoTracer中,深度图可以由立体图对自动产生,也可通过任何图像编辑器对原始图像进行处理得到。产生一个多视点系列图的步骤包括以下一些操作:, s2 a4 `3 u) ~( E, U
# }: q) H; b, z& i+ ^8 |
(1)打开源图(原图+深度图或立体图对); }7 G7 f. f- L% c2 `1 c$ P: [
(2)创建或更正深度图(如果必要的话)' y$ m9 Q0 C" w- N4 I
(3)产生帧系列 D1 A# F0 o" y
(4)保存产生的多视点帧作进一步编码,或输出至Triaxes 3DMasterKit.
) x- h; x7 u! ` j( s9 b
1 D N: Z9 r: E2 }; s: V8 E/ F 当我们的3D场景信息是由立体图对给出时,就可以由StereoTracer上述步骤中的(2)得到图对左右图的深度图。$ X9 a1 A' U1 c9 r6 g# Y. E2 b
5 n- v9 G4 G) _$ l/ k p StereoTracer的最新版本是7.1.18,下面是其下载地址:
}2 K) g0 e6 ~& b2 U' C9 `2 Z$ W; ?
http://triaxes.com/downloads/setup-stereotracer-en.zip
. d( m4 {/ b8 l9 \; W E$ ?; b% g9 N9 T" C" P
这是一个演示版,具有正版所有的功能,只是如果没激活软件,则保存的结果图会被打上“Triaxes StereoTracer Demo”的水印,需要后期去水印(但也可以不去水印凑合着用)。
% @$ i; i Q+ S% V( J7 L9 |4 g9 z% O- _4 s1 U8 C% o' L. J8 ]' @: r8 N
下面是SteeoTracer 4.0版本的下载地址,虽然也是演示版,但己破解,最后结果不会打上水印:
% i h% @( B m( J K4 l4 S7 G; W5 X1 r6 L+ W
StereoTracer4.rar (提取码:wg88)
) j6 k1 y1 S7 t% |4 E' w
; b% P& t1 p7 [0 e( u7 { 以下的介绍是针对4.0版本,限于篇幅,不再介绍该软件的用户界面、菜单等基本情况,可自己下载后摸索了解。" Q e6 Q" A/ R+ u, J, R. C
# E7 N2 U/ h0 E1 Q! i& A 例4:这是摄自中普陀寺的一张立体图片 e3 S- u$ u" R( y4 h6 B7 |
* B; q+ p( c% c
/ |2 s- T1 ]; t, G2 O- v0 \1 q. }, P$ I/ J- C- C- p9 C1 V4 C9 [
为了转换得到其深度图,可如下操作:' s- Z0 m" ]2 g: f
- x8 ~9 Q4 c* B5 f1 W- G (1)打开程序“StereoTracer”,弹出“激活”界面,选择其中的“Demo(演示)”按钮,进入程序的主界面:
3 g/ C0 U/ K+ i7 v2 Q7 j: }1 e& o/ g! B; ?6 j( y! c$ z
7 L9 ~4 Z& c. E) Z
& q2 W$ O' I3 t, Z" n" J0 c (2)选择菜单项“File -> New...”. S% Z+ n( d) r( ?; T& R! L
% P0 z5 N3 B4 Q) q8 N' b
0 Z. s- |1 o+ n4 h2 e- S' R
8 q( ]& L: z1 T- X, p
(3)在弹出的“Choose project type”对话框中选择项目类型:
& p6 t6 |2 f* T+ i( K" M+ L* o7 M8 @- v+ r) t& w2 h
- N4 m8 M9 a& o" k
/ X5 e5 t5 N" `3 K2 O4 ^1 I
有两个选项:% ?" F3 l$ _. _- x
Original picture & depth-map(原始图像和深度图),图像和深度图是用来产生多视点系列帧的。
" O6 {1 R; o# D4 w5 N$ V Stereopair(立体图对),会产生相应的深度图。0 S$ M, b: X, R/ N
选择第二个选项,单击“Next(下一步)”。% N4 r l* m' k4 i
, `' _" x4 P0 [/ ^& j% `( s (4)弹出如下的“Open source images(选择源图像)” 对话框
* |* t8 I- a$ f5 g
& ^6 f# E. m' m& s4 M* K7 T
6 G" j1 H5 D, s( v6 K+ b% S$ O' F5 |/ V" K6 W' y" L
原始的立体图对要求必须是分离的左右图,点击对话框上方左面的“Left image(左图)”方框,就可以在对话框下方选择相应的左图文件,选中的图像文件的略图会显示在上方左面的图像框中。$ D6 l" F* X# Z6 Y. B% D3 u
( z4 U4 \8 z: {! C
S* b- t4 ^* f9 @7 d# s/ V( G2 q' Q: B+ r
点击对话框上方右面的“Right image(右图)”,就可以在对话框下方选择相应的右图文件,选中的图像文件的略图会显示在上方右面的图像框中。
# ~- y5 W3 j; M# }" u# g6 s" H5 X$ @3 v2 D, r7 L* Y
6 e$ u( H1 |) W+ o2 u
& S% A9 k [* a5 `
(5)完成后点击“打开”按钮,会弹出下面的“Matching of images(图像匹配)”窗口:+ F) q0 |" V! x" B7 d: \
& K) l* m, e$ C+ b
+ |' C, o! u2 C4 z4 x# r& H0 W% J7 s8 y$ C4 T" |
该窗口有左右两个图像框,分别显示左右图重叠的图像。可以自动匹配,也可以手工匹配。如勾选窗口下方的“Auto(自动)”检查框,两个图像框会立时显示匹配后的结果图(自动匹配视差和水平自动对齐)。也可以手动匹配(最好是先自动,后手动),这可以通过移动每个图像框下方的滑块条来调整,左面的图像框用来匹配最远的对象(背景部分),右面的图像框用来匹配最近的对象(前景部分),通过这样的匹配以得到对象的最大清晰度。就我们的这个例子,调整后的结果如下图所示:7 @ B( M+ S! f( g n, k5 j: Y% I
7 |% k+ k5 W9 K& [) ^# m
+ S& z I8 l/ m- u2 C
' j* I1 V% j' ~1 N* [
3 H+ D) J7 w! m! Y (6)完成后单击“Next”,弹出下面的“Select depth-map(选择深度图)”的对话框:
( J, c7 V9 r2 p5 ]
: Z! D/ |( Q/ s. l1 ^3 t- A
0 N( I! w1 o4 }1 w7 G# j( [1 @4 D& p
; i+ G& ^' h u7 d0 s
此处提供了深度图的9个变体,你可以从中选择最好的一个,一般都是中间的那一个,这些变体图只是略图,其质量要低于其后选择的真正深度图。/ f1 i8 d- n' u* [: h
0 W; d9 t7 L" r+ R# z 你还可以通过对话框下方的“Tune”按钮来改变生成深度图的一些参数:
1 u$ k- {% |0 o, g) [
% u$ Z. g" e( s( z2 ]9 L' q- R
. n0 I9 ?. W5 O# E" c" ?% [* M. X
+ I9 |" U# \7 t4 y# [2 v0 `) j 其中的参数不具体介绍了,可通过拉动各滑块条来观察效果。
( s* k0 K: s4 @0 J& H! y6 N$ A, ]+ Q S7 X' m# q
(7)完成后单击“Next”则返回主程序界面,结果如下图:
$ K: r% C; u. b I8 s3 o; f# J7 W5 G& E+ R9 \% u4 K7 v
0 S P: u. K- g2 s0 h2 Z$ ~; ^: g
) O7 n! D7 N8 \ d% D' Y 下方的小窗口中显示的就是2D+深度图。, j: q# y8 [. i& h8 s6 Y* u
8 [3 i5 o; g2 `6 `- a
(8)使用菜单项“Image -> Save frames...”或点击下方小窗口左上角的“Save frames...”图标8 C8 w' @8 E$ Y- {1 U! f
( m7 Q9 I q$ n O6 _8 i9 G5 p( Z
- k6 C3 `+ J1 n+ o' C
( O! |2 H' x# a: a& x (9)弹出下面的文件输出对话框- J# C' I5 L( `; A( q# r8 }% J
/ T7 N! `# |$ I) q6 Y! V
' p) l, W& F: P4 d6 R, N- w8 s3 v" t
给出输出文件的路径、名字、图像分辩率,最后点击“Export(导出)”按钮,只要有信息:3 h) G+ N- B" S% ~
3 C. W' e; X+ B; }. r' g
- }: L( ^1 f- L3 |- O- x( H# F8 |8 U2 ^; o+ J% I) F# E: e
我们就成功地得到2D+深度图了:
. {, b3 k: j& J5 R4 v% E4 Z r3 \3 D! K# D/ y" Z4 z
! d' c% Z' a4 _9 f L2 g( {% w, G+ {9 e1 s1 }
: b x$ ]5 k8 L! D9 f+ i( U' @2 ]
: e5 ~) A, o \+ m, H8 T
这样得到的深度图是否可用,可通过将2D+深度图转化为立体图来观察,检查其立体层次是否正常,和原立体双图的立体效果是否大致一样,如差别较大,则需要对深度图作后期处理。
t, C& `- Y# A* l$ m% ~* }- o7 I7 ~- p$ {6 q
& l9 y3 l( ^3 G2 u& V
& o& s2 V: ~+ a$ ?) I R
" a0 I# e. l9 B; z- Z) j
# i4 c6 }& V2 w( a1 `3 G 2、使用“3D Gugle Pro X”的“Direct Depth Map”来制作2D图的深度图
# p& L6 Y$ t3 Y
" e! R$ e, i1 ~* Z0 e3 o9 f/ Z “3D Gugle Pro X”是一款平转立软件,其中的“Direct Depth Map(直接深度图)”功能就用于制作2D的深度图。由于内容较多,技术性高,准备另择文描述,这里只简介其作用。* A4 \% T' O( N, K" x( W6 A
# L5 ~: ^" I5 u" y “Direct Depth Map(直接深度图)”是通过3D Gugle的菜单项“2D to 3D -> Direct Depth Map”进入的,其界面如下:+ r$ E* B" g; _ [
& z4 s3 z$ h6 ~5 L0 q
) j4 q) H1 `0 i" V6 @( V, Y3 ]" l" k* ?9 g8 F8 `! Q* N
“直接深度图”以三种不同方法操作:3 I: l/ Y1 t: [$ @3 s$ Z
$ w! l. |, [( w$ { ^" \9 |# w (1)Sketch(绘图):简单地通过鼠标的绘画直接来绘制出深度图,可以通过交叉图或平行图的方式观看深度图的立体效果,例如:
7 |6 ^$ @! P" Q6 h' ~7 A6 m6 s A" v' }2 i5 Q+ E
2 [+ q/ E6 b8 _$ U0 l5 P% m0 Y
: P! ]8 x! w+ x, ^, O; r (2)Conversion 3D(转换3D):使用这种方法可以由一个正规图像绘制出深度图,例如:
3 c- u. V: e/ W: U$ |7 r3 E6 D# r
: ~- o8 j! p4 `3 F
+ J/ ~! Q% e2 N0 M* _' K, l4 s* a
绘出的深度图]
. c- s' k2 b# s9 t$ c* Q0 P" P
+ g! o! r% h9 P1 E* Z) I( b5 [+ G
$ {- W* I3 r+ {. t9 O6 z: G
- r/ A X1 h0 u+ C8 Z& k# t7帧系列图动画8 g2 s9 j5 H$ a
7 x9 ?. S D! y$ D7 o
# V& t* p% e6 F5 s! m4 ]* T( z4 U/ }4 A* ~. F# S& {! S# T
(3)Corrections(修正):使用这种方法,可以修改一个已完成的深度图,不仅是由3D Gugle建立的深度图,也可以是由其它独立软件所创建的深度图。
8 M# o2 V5 ?# N, O5 u Y' C8 r3 j5 X6 ~
4 Y: D! \; z6 t9 \# X, i9 R+ n* n d6 g' J i2 T3 W3 w
. \0 x& I. \' D" F! F; P |