DIY开源软件——球型全景摄影计算器。

[复制链接]
查看74296 | 回复45 | 2013-4-3 00:51:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 hkaxiong 于 2013-6-22 08:55 编辑 & a* G$ ^- u% [. S. ?( ?0 z
6 `! e. v/ e- G3 c( N2 l1 k& C. U
被各位老师DIY硬件的精神所打动,我也DIY了个开源软件——球型全景摄影计算器。
5 D' N( i0 D# l' b5 E2 ~! P软件用html+css+javascript代码编写,本身是一个html文件,完全开源。; j1 R/ h7 \0 s
软件其中包含了三个计算器:视角计算器、景深计算器和球形全景摄影计算器。
$ I' i. H, ~7 J2 D
" H0 ~1 M& a7 O' w6 B4 }; ^功能说明:8 d( C3 u) r, J, D
一、视角计算器:
& O* p  y1 a9 x9 t4 P* ~' ]1、输入焦距来计算各个视角;
: m9 X9 O2 a( E8 S8 z% ?2、输入任一视角来计算焦距;6 [9 c& R, n& ^, F6 ^
3、各个视角之间的相互换算;
' e( }! S8 z# R6 K$ ?# H2 v4、不适用于鱼眼等特殊光学结构的镜头。
) z+ V$ K( P, n5 e% v' N- h1 R0 t
: w; u% A: ~) z' Y7 |. w二、球形全景摄影计算器:: l0 O* t. m4 R6 `3 _
主要提供前期的拍摄参考方案。计算将多张照片拼接成一个球形全景时,所需要拍摄的角度和数量。
2 `- l) F+ H/ Q: e. H5 ?) ?
8 t8 U- U" D( z% r+ R* Q三、景深计算器:: t" V5 i9 Z  y, ?; L% t
1、输入调焦位置来计算各项景深数据;1 p( z3 F9 e/ i' n5 l
2、输入景深近界或者远界来计算调焦位置;
+ R2 _8 o+ n, P0 {3 P3、输入前、后景深或者景深范围来计算调焦位置;
  d% V" [2 [3 t9 `+ i9 O) h' x5 k4、计算超焦距;
* ^, ^1 |9 G3 m) u6 Q  t( |5、弥散圆临界直径的数据请参考于DOFMaster网站。
5 O! P! t% c, ^7 p$ ^5 ~0 ?; ]8 N/ c5 e+ j+ f/ x. ?+ c5 p* G" c
  Y7 `, `0 U1 d# V! {1 h7 q7 |
超焦距和景深的计算结果和 DOFMaster 的数据对比如下:, `4 C, m0 [- B: ?2 x; ?* ?& n8 F' ^* D; L
a.JPG   I4 S* Z6 |# m6 [
hkaxiong | 2013-4-3 01:01:21 | 显示全部楼层
本帖最后由 hkaxiong 于 2013-4-16 11:53 编辑
6 x- A/ _  D* f6 w
4 p- w' Q: [' q7 p% Z2 S" @在开源中国尝试着创建这样一个项目,却不知道如何上传代码。4 q! l# e3 x( a( b/ z9 O% k
我还不是很熟悉开源的规则和流程,正在摸索中......
hkaxiong | 2013-4-3 01:04:38 | 显示全部楼层
由于开发时间仓促,个人经验不足等等原因,难免会出现错误,请各位多多指点,并斧正了。
老怪 | 2013-4-3 05:32:27 | 显示全部楼层
boney | 2013-4-3 07:57:35 | 显示全部楼层
小花猪 | 2013-4-3 10:00:22 | 显示全部楼层
联横合纵 | 2013-4-3 12:00:16 | 显示全部楼层
good.gif
hkaxiong | 2013-4-3 14:40:43 | 显示全部楼层
多谢 老怪,boney,小花猪,联横合纵 等老师的鼓励了。
hkaxiong | 2013-4-3 22:32:20 | 显示全部楼层
福神 | 2013-4-4 08:38:54 | 显示全部楼层
真棒!   
指尖绚烂 | 2013-4-5 11:55:01 | 显示全部楼层
感谢,强人!
aclock | 2013-4-5 13:22:02 | 显示全部楼层
procolor | 2013-4-5 14:41:23 | 显示全部楼层
很方便
联横合纵 | 2013-4-6 11:44:12 | 显示全部楼层
很希望实际应用一下这软件,可惜昨天到今天一直都下不了。谢谢楼主在这方面的努力和付出,从帖上图表数据来看,楼主的工作态度非常严谨认真。: {$ z1 D  c  w3 j( o0 i
随着数码拍摄的即拍即见,这个软件可能有的人不懂它的应用,甚至不懂去欣赏,胶卷年代拍摄者必学的景深、超焦距、超焦距景深计算开始淡化,现在似觉越来越少人去学习了,以我个人拍摄经验而言,这些基础的知识的应用在数码年代其实也还在左右着我们的拍摄效果,如果无须为虚名急功近利,无须急于为拍全景去解决吃饭问题,安下心来看一些书去了解一下(依靠网上很多资料不全面,甚至互抄以讹传讹),这对日后的拍摄是有极大帮助的。
联横合纵 | 2013-4-6 11:52:35 | 显示全部楼层
有关光学的知识永远无法去深究,对分辨率的概念和应用,不同行业也有不同的见解,事物总是双面性的,数据严谨自然就无法简化,顾此就会失彼,怎样才能够深入浅出的做出一个实用性的运算软件,实在是一个困难的事。
联横合纵 | 2013-4-6 12:13:43 | 显示全部楼层
所以当收到楼主的短消息要我提意见的时候,我真有点为难,或许以前我也曾发表过有关怎样计算和应用景深的帖子,那主要是回应对我全景照片询问拍法的问题,对于楼主的这个软件的制作我佩服之至和心存敬意,充其量也只希望严谨的计算隐为高级功能,而简单的应用介面没有如下令初学者无所适从的选择,谨此而已。
: c. B9 W0 Q) G4 J 005129hutbtge2u9r926ne.jpg - o0 C0 u+ `3 D! \
联横合纵 | 2013-4-6 12:29:50 | 显示全部楼层
不同的品牌,不同规格的感光体,对容许弥散圆半径标准并不相同,所以要求全,就要输入很多基础数据再去运算,而这些精确数据在实战中要去重新消化才能应用,无疑实用性会受影响。
联横合纵 | 2013-4-6 12:46:19 | 显示全部楼层
从中看到楼主的不凡能力,如果攻其一点不及其余,先做出全景人急需的镜头焦距、角度、张数换算软件最为实用。输入镜头焦距、相机型号(芯片尺寸)、重叠位置(%),再迭择横幅或竖幅(H、V)和总拍摄角度(宽幅、矩阵),立即运算显示出转动角度、拍摄张数,如果再加以友好界面,此软件又可装入iphone,定会大受欢迎。
联横合纵 | 2013-4-6 12:50:26 | 显示全部楼层
本帖最后由 联横合纵 于 2013-4-6 12:56 编辑
2 P7 c; S/ Y$ P) ?7 B: O4 a/ p( C
# |" _+ k$ M9 T6 o. v  g: { dr.jpg 6 A3 f" e4 a9 d1 N6 R+ V
网中这一个超焦距景深应用图,很形象的介绍了,懂得计算运用超焦距景深,可以拍到更大的清晰范围。
hkaxiong | 2013-4-7 16:51:07 | 显示全部楼层
hkaxiong | 2013-4-7 17:01:07 | 显示全部楼层
本帖最后由 hkaxiong 于 2013-4-7 17:16 编辑 $ d0 O7 j% k, _) f6 v
联横合纵 发表于 2013-4-6 12:29   c- z" [; ^" F/ M3 I7 _
不同的品牌,不同规格的感光体,对容许弥散圆半径标准并不相同,所以要求全,就要输入很多基础数据再去运算 ...
9 r7 [. ~4 Q) S* g' ?
是的,就景深计算而言,虽然公式都是现成的,例如我这套系统中的景深公式就引用自我国钱元凯先生的教科书。但是之前最令人头痛的就是不知道这个容许弥散圆大小的数据是多少,幸好搜索到了国外这个网站的数据,感谢他们在这方面做了许多基础研究。
hkaxiong | 2013-4-7 17:09:50 | 显示全部楼层
本帖最后由 hkaxiong 于 2013-4-7 17:47 编辑
: Z. z: J+ H+ M% [; L/ q
福神 发表于 2013-4-4 08:38 9 i% _7 o& Q# q* X9 T% X) R  J
真棒!
3 B+ u% L, V. ]& o7 ?1 J3 _, c
福神老师,您上回在群里面的建议,也将在下一版本中发布,多谢您的指点了。
' I9 |* R7 Z5 h& u$ D! e6 E! K" V
% w) ]1 A; G& d另外不查不知道,一查吓一跳。APS-C、APS-H的规格可真多,尤其是APS-H,光佳能1D系列的机子,几乎就是机身一个型号传感器一个规格,这里只能标注其中一个了。! h$ G" L( f5 y3 E2 X& X( z4 Y
a.JPG
0 F2 P% _. {0 }- d8 H) U. L9 z% f( d9 |" O/ D) J* p+ f2 M
hkaxiong | 2013-4-7 17:14:51 | 显示全部楼层
多谢 指尖绚烂、aclock、procolor 等老师的鼓励了。
福神 | 2013-4-7 18:17:51 | 显示全部楼层
hkaxiong 发表于 2013-4-7 17:09
. ]- C  _$ P9 a: s& W) H- J# b福神老师,您上回在群里面的建议,也将在下一版本中发布,多谢您的指点了。) }, d" g7 }2 Q8 X+ @0 x# c

& Y" O: P8 Z/ L; U2 b2 ]$ M另外不查不知道,一查吓一 ...

3 U  o" x0 k$ H% _9 `2 j太好了,这下就更方便了啊。感谢楼主分享。另外能不能做成绿色版呢,下载到本机,可以随时使用啊
hkaxiong | 2013-4-12 10:59:05 | 显示全部楼层
本帖最后由 hkaxiong 于 2013-4-16 11:31 编辑 ' F$ m. M3 P3 j

0 C; J: X  c. E; L这一周工作有点儿忙了。
" O1 N; |; {; g2 u. H0 A
9 @, N1 g2 W/ q9 @) m向大家汇报一下进度。1、修改了球形全景拍摄数量的算法。上一版本中使用的面积法,在某些场景的拍摄中,如果设定的重合比例不够大的话,顶部就会出现几个“空洞”。如给大家带来不便,请见谅。新版本将使用面积和弧度相结合的算法,以避免这一漏洞。2、调整代码后,可以编译成安卓手机的APK了。9 b! w  S/ E* N% Q5 s0 i
hkaxiong | 2013-4-16 11:33:48 | 显示全部楼层
本帖最后由 hkaxiong 于 2013-4-16 12:05 编辑 0 h6 C& P# J/ Q1 f; `5 p; v8 c7 M" I

4 x+ t* n% F# f9 B$ P5 [安卓版的开发完成,apk请在2楼下载,功能截图如下:$ \+ T$ `" p  R8 v. Q7 f8 _
1.jpg
. V: E. I+ z7 _% o* t- T 2.jpg
5 y1 S# {- c/ @* d 3.jpg
4 {" e- T& q) R0 C, f4 l& ^9 h1 b 4.jpg 0 `1 m  K/ a9 O" y# D) Q3 f6 e
5.jpg
9 X7 B/ w7 g  n" o, Q" S
古德曼 | 2013-4-16 16:25:48 | 显示全部楼层
hkaxiong | 2013-4-17 10:07:52 | 显示全部楼层
hkaxiong | 2013-4-23 17:36:48 | 显示全部楼层
2013/4/23更新:7 S9 o9 Z2 W( [' C$ L/ t( b
1、修改已知的错误;
0 f2 I* U. v: ?, w3 e- X2、文本框在需要输入时直接启动数字键盘;
0 d+ y2 o0 L  e+ D! v. A3、增加“景深计算器”中的“光圈系数”下拉列表框,实现从光圈系数“名义值”到“理论有效值”的映射,从而提高超焦距等数据的计算精确度;/ O1 i7 ]- R9 T( l9 M9 [
4、增加数据的容错及提示功能。
- _' S! o0 e, R; I5 t
3 i3 p' N4 F. G' F- g. a下载:http://www.360doc.com/content/13/1008/17/1437142_319879100.shtml
荆棘鸟 | 2013-4-28 21:00:03 | 显示全部楼层
非常感谢楼主为全景摄影做的杰出贡献
hkaxiong | 2013-5-11 09:07:33 | 显示全部楼层
荆棘鸟 发表于 2013-4-28 21:00
0 s, A$ m' [- i非常感谢楼主为全景摄影做的杰出贡献
$ ]% ]4 S; G& A2 X3 {4 W  _! w
哈哈,不敢当。
* Q2 m( j' _+ ~) j
/ T0 D& F( H9 c8 L) r$ \$ N, g6 ]* x& z$ ^您是全景,尤其是矩阵方面的高手了,欢迎试用,欢迎多提宝贵建议。
hkaxiong | 2013-5-11 09:07:52 | 显示全部楼层
本帖最后由 hkaxiong 于 2013-5-11 09:11 编辑
/ t, M* ], ^5 U8 n( Y4 _; @' g- q) e0 Z  Z. y$ W
2013/5/11更新:
# H0 o" v/ G0 b+ t3 ~+ L1、修改已知的错误;
+ w6 h' o! [, u+ R  y2、优化ui,使得能够响应更多的操作方式。! _& d0 M3 k; E" q6 J& k

5 Z  W- B- f3 J% m7 d5 }( I6 G$ p' c/ ~# v$ n
欢迎使用,欢迎多提宝贵建议。8 O3 }0 d8 v3 Z  s) d4 l+ Z0 h
hkaxiong | 2013-5-20 16:22:55 | 显示全部楼层
哈哈,今天终于通过了安卓市场的审核:http://apk.hiapk.com/html/2013/0 ... p;info=aFFvZg%3D%3D
yudouxie | 2013-5-22 00:18:17 | 显示全部楼层
html文件可以直接提供吗?
7 o9 J4 H5 B) K. N方便在电脑上查询
procolor | 2013-5-30 11:36:19 | 显示全部楼层
论坛里人才济济
hkaxiong | 2013-6-22 08:50:50 | 显示全部楼层
终于开源成功,之前一直上不了Google Code.
6 W5 d6 k; ~8 P- v9 ?8 T5 {; X4 T# O) o6 R* o: @: j
开源地址:http://code.google.com/p/sppc/
& i/ B9 f) O' c1 F
2 w. t  M8 v! z8 I' D9 U' g; E0 l& \  O' G' v
欢迎各位大侠前往指点。
hkaxiong | 2013-6-22 08:51:07 | 显示全部楼层
procolor 发表于 2013-5-30 11:36 3 b, F: K4 z% G) B/ e
论坛里人才济济

2 }; f6 U3 ^" G# i! J! F6 o多谢鼓励。
hkaxiong | 2013-6-22 08:51:45 | 显示全部楼层
yudouxie 发表于 2013-5-22 00:18
. d3 `( f* o  T$ }+ P4 ~* @html文件可以直接提供吗?
% ~* J4 j1 M0 ?2 k方便在电脑上查询
3 e2 a* [& B+ o8 W! B! n
根据37楼的开源地址可以下载了。
hkaxiong | 2013-6-22 09:29:37 | 显示全部楼层
后续的升级计划:; N& p; B$ k2 F3 B, Q" q! k+ k* Y
1、球型全景计算器,在使用过程中,发现常常需要保证一个关键的垂直角度用来拍摄主体,而目前的版本中还没有考虑到这一点。, R5 k9 u& i6 H" H
2、景深计算器,目前版本对超焦距使用的计算公式是:H=(f*f)/(F*C),而不是象DOFMaster网站的H=(f*f)/(F*C)+f,其中f为焦距,F为光圈数,C为弥散圆临界直径。后续版本中将使用和DOFMaster网站一样的公式。
yudouxie | 2013-6-26 14:12:37 | 显示全部楼层
谢谢楼主。
6 d/ h0 |% a* V  [顺手贴上在线计算网址:http://sppc.googlecode.com/svn-history/r2/trunk/sppc20130522.html5 E1 d' V+ s, {% Z9 H
试了一下,以17mm在aps-c上为例,实际拍摄1+8+12+8+1=30 是比较合理的。
- }6 C& ^- {! X在软件计算需要36张,最初一圈的大部区域均有多图重叠,但极点附近都是镜头的边缘,画质欠佳。
9 x8 w$ R6 X! X) i- c我想算法还可继续优化,加入南北对称的思路,或是优先天地,或是计算需要的成像总面积,再合理分配角度……: G0 v+ I4 W9 s5 r
希望越做越好。
+ q5 g. r8 T) C. U5 l7 o2 {加油!
hkaxiong | 2013-6-30 13:29:21 | 显示全部楼层
yudouxie 发表于 2013-6-26 14:12
, ^1 M+ B- ^0 ~6 ^0 K, R2 b谢谢楼主。
* h4 m, R9 z9 ^# x顺手贴上在线计算网址:http://sppc.googlecode.com/svn-history/r2/trunk/sppc20130522.html
$ L8 ?+ ?' `  i/ `) Y ...
% a2 O' H; R$ x1 e0 Z. N3 q8 e* Y
多谢您反馈的宝贵建议。2 l3 H- V" S. x, r, ~
& O. I. M  d) s2 B6 ]
过一段时间有空的时候,我把算法整理好发上来,做个抛砖引玉,请大家来分析和讨论一下。
guonaldo | 2013-7-4 17:15:17 | 显示全部楼层
hkaxiong | 2013-7-5 09:33:31 | 显示全部楼层
本帖最后由 hkaxiong 于 2013-7-5 14:04 编辑 9 E4 f+ Y! Z3 e" d
guonaldo 发表于 2013-7-4 17:15
3 |2 Y5 T1 y; ^  y+ Uhttp://www.hdrlabs.com/tools/panocalc.html
* z( p: [/ q$ C: K. y& ?* Y! q( Q
多谢分享。" g3 `( i/ a" p9 F# Z

) @; O5 X/ _) }; r& s  w% c/ L. h用了一下,感觉这个计算器有鱼眼视角的计算功能,挺好的。不过后面两步有点不理解该如何使用。, ~! U; `, l( b" \& f

+ b1 J( G, ?! C5 k) j* r 1.JPG & @, ~/ W8 ?4 [7 X4 `9 q, t3 D
7 E7 s; w) Z, ?3 e7 O# P
这个计算结果请问是否这样理解:16mm的普通镜头,全画幅相机,当覆盖率25%,每层360度视场时,风光需要拍5张,肖像需要拍6.5张?4 \; ?( s- J) y1 m( `+ `
另外这个计算器好像没有计算当垂直视场180度时需要拍摄多少层。
* f- o& l4 L. C- |; r/ i
guonaldo | 2013-7-5 16:15:13 | 显示全部楼层
hkaxiong 发表于 2013-7-5 09:33
0 V$ ^' `6 U: {2 V! b' t, B; P" p多谢分享。
) F& h0 ~' {" r0 k5 C5 [1 M, H5 S. P" Q. ~
用了一下,感觉这个计算器有鱼眼视角的计算功能,挺好的。不过后面两步有点不理解该如何使 ...
/ Q6 Q: \9 c, [3 n6 n
landscape mode 指的是相机横着拍,1 r4 P5 K3 \/ Q2 C# T  C: b! W5 i
portrait mode 指的是竖着排
hkaxiong | 2013-7-5 16:36:40 | 显示全部楼层
本帖最后由 hkaxiong 于 2013-7-5 16:39 编辑
* N% C# @% r$ P! y( A
guonaldo 发表于 2013-7-5 16:15
& c5 i9 }; h; X) t, Flandscape mode 指的是相机横着拍,
3 x# i: `  ?  H: ]  U- Z& s3 Hportrait mode 指的是竖着排

0 U0 ~1 l7 V8 k# g) A! B2 @( z哈哈,原来如此。这倒也是,landscape 一般横幅的多,而 portrait 一般竖幅的多。
+ d# H! L$ E4 Z1 r6 `1 i/ L1 q( Q
另外感觉如果他们只算一层的拍摄张数就没有多大意义了。! [% u% R5 y+ d0 |4 ?
' U; `. J: S+ u  i) E
iseeu | 2013-7-21 01:45:49 | 显示全部楼层
太厉害了,明天再接着学习,感谢楼主
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则