分享

人人网

 dayslee 2014-11-06

【电子狗玩摄影第二期】【论CNSF四家的RAW】matlab真真是个极好的照妖镜 公开 2013-12-13 04:01 | (分类:默认分类)


大家不用劝我吃点好的了…水表什么的问题我自会处理…

电子狗们都知道matlab是个神挡杀神佛挡杀佛的好东西,不拿它来拆一下各家的RAW做做简要分析是不是屈才了呢哦哈哈。

怎奈个人水平有限,这个只能跑简单功能的程序还是以某个github上的原始算法作为思路弄出来的……

源程序不公布了,因为还想弄毕业论文用。。

下面进入正题。

老夫作为一个穷屌是弄不起各家的顶级机的,于是只能用这边存了RAW的佳能6D、尼康D800E、富士X100s、索尼a7r作为样本进行RAW的拆解分析了。

首先需要一个工具,Adobe DNG Convertor,这玩意可以把RAW直接转换成通用的DNG格式,免去加载解码器的过程(其实是老夫matlab水平太低不会弄我会乱说吗)。具体按下不表。

参与测试的是以下四张图,内容虽然完全不一样,但是分析到后面大家就能看出来了,根本和图片拍了什么没关系。

唯一的要求是图片里面必须有纯黑和纯白的部分,如果小伙伴们想发自己相机的RAW文件给我分析的话,切记这一点。

于是我选用了下面的四张图:

Fujifilm X100s

Canon EOS 6D

Nikon D800E(无压缩、14bitNEF。我想风光狗们采用的也是这个设置吧)

Sony ILCE-7R。在人艰亦拆之前我想夸一句,这个35/2.8ZA的素质确实很棒,用过的35镜里最棒的。

于是把它们加载到Matlab里跑一下程序,会得到一张图和一个csv格式的表格。

图就是这样的图:

其实就是一个有标度的分色直方图。不过我为了分析方便采用了对数标度。

有人要问了为什么有两个绿色通道啊?拜耳滤镜的传感器一组4个像素分别是R-G-G-B,两个G像素的信息未必完全一致,所以拆开来表示。

直方图的断裂不要太在意,由于对数标度的原因左侧的分度值很小,在线性记录的前提下必然会出现这种情况。

matlab可以输出csv,直接用excel就能开,很是方便。

开了以后就是这样的。

万恶的matlab不支持中文命名变量,没办法的事。

不过大家应该可以大致看懂,ChannelName对应的就是一组像素里RGGB四个通道,可以看到每个通道有900万像素。,minimun最小亮度值,maximum最大亮度值。2^14=16384,而D800的白场都是16383,表示它确实采用了完整的14bitADC。至于蓝通道的那个15895,大家看原图就明白了,对于一张整体偏黄的图,蓝像素没撑满也正常。而且可以看到四个minimum的数值都不是0,看起来乌七八黑的暗部竟然没曝死还有层次,我只能在这里对尼康的动态范围表示膜拜膜拜膜拜膜拜

Different Values表示从0-16383这些亮度里共采用了多少个数值来进行表示,2^13=8192,只要大于这个数值就可以认为相机采用了完整无损的14bit RAW。当然具体的记录能力因传感器而异,比如说下面这个EOS 6D:

虽然也是14bit ADC,但是显然模拟电路部分喂不饱这个14bitADC,只能记录0-13539的数据。

这也解释了为什么1DX、6D低感下DxO测试的动态范围落后于尼康,但是ISO超过800又能反杀。

Different Values没有什么异常,确实是14bit RAW。暗部已经完全曝死,这点没办法了。

再来看富士。

X-Trans CMOS的特殊排列逼迫我改了下程序,把所有的G像素合并到一起输出,这下没什么问题了。可以看到一块1628万像素的X-Trans CMOS有360万的R,900万的G和360万的B。大概会很适合撸风光吧。

X100s是富士X系列第一款采用完备14bit RAW的机器,可以看到也没什么异常。满阱容量15360,还是不如D800E。尼康到底是用了什么黑科技。。

Different Values无异常。

——————————————————————人艰亦拆的索尼要来了——————————————————

这个15871的满阱容量貌似没有什么问题(不过就这点上来说这货还是撸不赢D800E的,我猜DxO的动态范围打分应该也参考了这个数值,一个14.1EVs,一个14.4EVs,像素加成基本一致的情况下很能说明问题)。另外像素数实际上和D800E有微小的差别,究竟跟微透镜和程序优化有没有关系,这里不得而知。

Different Values……你怎么了Different Values!为什么只有1767……

鉴于2^10=1024,2^11=2048,我只能说这次的平均码率应该不是8bit了,应该是介于10-11bit之间。取一下对数就知道了,严格算起来应该是平均lg1767/lg2=10.78bits。

然后我凑了半天也凑不出10.78bits来,查了一些帖子和资料,众说纷纭。据说索尼这次学乖了采用了动态有损压缩,这个还需要求证。

不过话说回来,用1767个数值来表示15000+阶的亮度,能完美契合才怪。

剩下的我就不借题发挥了,我想看到这里的人应该是心里有杆秤了~

风光狗们,别舍不得钱舍不得体能了,没钱去赚钱,没体能去健身,一定要买D800E啊!!!7R最好别碰啊!!

——————————————————————————————————————————————————

最后,如果谁有兴趣把自己相机的RAW文件发给我解析,请发到lq84230@qq.com,邮件题目姓名+机型+RAW文件解析。我解出数据来之后会第一时间回复的。注意:画面中一定要有纯黑和纯白的部分,否则数值没有参考价值。发原始RAW(CR2、NEF……)就行,转DNG的事我自己来。

为了造福更多小伙伴请大家看完文点一下分享。如果愿意顺手点一下赞也可。

好了作死结束,睡觉去了。

———————————————————————下面是反馈们——————————————————————

@宋耘立(258297848):楼主对A7R的unique values的分析恰好验证了目前大家公认的索尼raw有损压缩算法:每16个像素为一个区域进行分治,11bit*2记录最亮和最暗像素,4bit*2记录最亮最暗像素位置,剩下14个像素每个用7bit记录,这样下来接近11bit精度【这个基本靠谱 我只能说索尼的电子工程师都是神 挖尽心思的从Sensor里抠成本好让产品看起来价格低跑分高以当业界良心,不容易啊】

————————————————————下面是小伙伴们反馈机型的跟踪————————————————

a-900,从编码这块来讲是索尼最后的良心。完备、一刀未砍的12bit RAW在那个年代足以撑起风光机的一面大旗。

无敌二。在动态这块跟6D比不差什么,还有点领先。。

Nikon D80。嗯,从D80到D800尼康在背地里都干了什么,请自行想象。


较新一篇:【电子狗玩摄影第四期】ma... 较旧一篇:理科生优越感的来源:(转) 阅读(3344)| 评论(115)| 分享(226) 评论|

杨晗: @陶心云EnHom.NEF
2013-12-13 12:09

刘大看: 风光狗们,别舍不得钱舍不得体能了,没钱去赚钱,没体能去健身,一定要买D800E啊!!!7R最好别碰啊!!
2013-12-13 12:30

刘大看: 直接拉到最后看这句话了···
2013-12-13 12:30

翟晨曦BAYERN: 这个分析的源代码在mathworks官网的论坛里本来就是公开的啊,直接可以得到unit16型的cfa数组,记录了每个像素的色彩数据,然后只要分解cfa数组就可以了。原帖链接:http:///s2wfii
2013-12-13 13:13

陈世豪丶Archrage: 感觉智商被抽离了身体
2013-12-13 15:35

刘庆: 第一都是我一个人照出来的,第二这些片子里都有黑白场,我也只做黑白场分析。虽然确实欠严谨但是我觉得足够说明我想说明的问题
2013-12-13 16:24

刘庆: 回复翟晨曦PENTAX: 瞅了一眼还是有点区别,不过貌似这个代码更牛逼一些。。
2013-12-13 17:31

曹骏一.Perapher: VIP 老5d的raw你要吗=_=
2013-12-13 17:31

刘庆: 回复曹骏一 XEN:可以~
2013-12-13 17:32

曹骏一.Perapher: VIP 回复刘庆: 明天撸一张,既要有死黑也要有死白吧?
2013-12-13 17:33

刘庆: 回复曹骏一 XEN: 嗯
2013-12-13 17:34

贲圣豪: 为何6D高感反杀?
2013-12-13 18:00

刘泓波?Panda: 强力党
2013-12-13 18:55

袁野: raw文件里。。RGB加起来是1倍的像素,还是已经4倍的像素了?
2013-12-13 19:06

袁野: 回复谷海璠:动态范围的另一个问题是。。CCD的电子阱能存多少。。
2013-12-13 19:10

袁野: 的确屈才了。。谄笑
2013-12-13 19:13

陈煦: @福兰克 诶。。。。。
2013-12-13 19:37

薛伟超: 卧槽完全看不懂啊!
2013-12-13 20:47

林晓煜: 给你发个GF2的?
2013-12-13 22:34

王越: 我下周有个三连休,可以有空录一段
2013-12-14 11:55

严鑫: lz测试过a99的没?跪求结果啊~~~
2013-12-14 12:42

卢翔: @方东朔 卧槽了,a7的raw不能够这么渣啊!!还要不要买了
2013-12-14 20:38

方东朔: 回复卢翔: 我不都跟你说过了嘛,Plus高光拉是能拉回来,就是拉回来肯定是大幅阶跃的灰度信号了,我感觉从频域低通滤波的角度理解是不是更好理解一些?我感觉这个算法近似是这样的吧……
2013-12-14 20:52

施维: @岑家鑫 是叼!!
2013-12-14 22:43

岑家鑫: 回复施维:看來X100S是很好吃饭
2013-12-14 23:32

严鑫: 请问 a99那个14bit怎么样啊?
2013-12-15 00:05

施维: 回复岑家鑫:有空你选几张 我们来分析一下D7000哈哈哈
2013-12-15 16:03

施维: 大神们快把自己的RAW文件发给我们来对比一下!
2013-12-15 16:05

乔纳斯Jonas: 我想知道的的是,索尼文件里砍了这么多过渡色阶,为的是可以用比较差的处理器就能获得高连拍还是什么?而且实际文件处理质量在软件里索尼比佳能好是为什么?最后,DXO对A7r的色深评分是25.6, 5D2是23.7, 这么说来结论似乎跟po主的矛盾。
2013-12-16 21:09

刘庆: 回复乔纳斯Jonas:关于DxO的解析看我前一篇文章。naive。
2013-12-16 21:10

刘庆: 回复乔纳斯Jonas:关于DxO的解析看我前一篇文章。naive。
2013-12-16 21:10

刘庆: 回复乔纳斯Jonas:采用Unified ADC可以有效的砍传感器成本。无商不奸嘛。
2013-12-16 21:11

乔纳斯Jonas: 很多人不相信dxo的结论,但从过往几个标志性的争议事件(5D2vs5D3文件质量,5D3vsD800宽容度,哈苏vsD800宽容度)上看,他们的测评还是相当可信的。我能看到他们唯一的不足是宽容度没有分高光和阴影两部分来测,因为向右曝光原则使得高光区宽容度比阴影区的好用。
2013-12-16 21:14

刘庆: 回复乔纳斯Jonas:不不不,DxO的最大问题是利用总的Dynamic Range来标定分数而不是利用实际编码动态(这篇文章里的max-min反映的就是总动态,但是分立的different values对于跑分几无影响),还有一个就是采用总像素加成的方式来代替缩图跑分。
2013-12-16 21:15

刘庆: 回复乔纳斯Jonas:DxO打的分看看就行了,原始数据倒是有比较大的参考价值。至于怎么看原始数据,点我前一篇日志。
2013-12-16 21:16

乔纳斯Jonas: 回复刘庆:撇开跑分,看文件质量。A7的质量就比佳能5D系的好很多,从宽容度到可处理范围(处理起来更不容易拉爆)。ps,我自己是个经常用灯的佳能用户,我的文件质量可以代表我手上机型在那个情况下的最高画质了。
2013-12-16 21:25

刘庆: 回复乔纳斯Jonas:不用灯,出去拍一些色彩和细节很跳跃的场景,甚至裸自然光的外景人像,只用ACR的基础功能(不允许单色调节)来调色,就能感觉到编码蛋疼带来的问题了。
2013-12-16 21:26

乔纳斯Jonas: 如果一个数值不能在文件质量上有所体现,我认为它对于我一点也不重要。
2013-12-16 21:27

刘庆: 回复乔纳斯Jonas:再不用说吉布斯毛刺的问题,怎么说呢。如果把图片看做单纯的信号,理解这个就容易多了。至于摄影意义上,我觉得啥器材都能用。研究器材和拍照是两个行业,您觉得呢。
2013-12-16 21:28

乔纳斯Jonas: 回复刘庆:ACR的解码质量其实很一般,Capture1pro的比较好。不过c1p和ps合作的流程太让人讨厌了。
2013-12-16 21:29

刘庆: 回复乔纳斯Jonas:输出tiff再进ps就是了,也好吧。反正matlab解raw我都搞,还怕啥啊。
2013-12-16 21:29

刘庆: 回复乔纳斯Jonas:从图里也能看到,D80比a7是恶心多了,但是没人觉得D80/D90(它俩AD一样的)没法胜任日常拍摄工作吧。理工人的吹毛求疵精神和摄影的意思有点不一样,所以我说拍照和鼓捣器材是两门学科。
2013-12-16 21:32

乔纳斯Jonas: 回复刘庆:问题是,我用到的从iq260到450D都有色彩倾向。不同的处理软件直出的结果还差的很远。没有微调的acr设定?我认为那没有实用性啊,数码本来就是用来调整的啊,除非新闻摄影。
2013-12-16 21:34

刘庆: 回复乔纳斯Jonas:嗯主要是基于这么个前提,1、大部分人没有专业的色彩后端和足够好的色感去逐色调整 2、大部分人没那么多时间。3、大部分人眼里的后期也就是拉拉滑块和曲线,连动蒙版的都在少数。所以这种意义的调节不可谓不重要。那种干脆全图划块重新上色的,找个啥机器不都一样嘛。。
2013-12-16 21:36

乔纳斯Jonas: 回复刘庆:相机的作用就是拍照,对出图质量没有影响的数值我不认为有决定性意义。反而是佳能文件一直存在的暗部条纹噪这类对拍摄有比较大的影响。
2013-12-16 21:39

乔纳斯Jonas: 回复刘庆:我随机器带色卡。但色卡没法解决色彩层次的缺乏,暗部条纹噪,高感光下暗部色相漂移这类问题。总之我认为A7的画质还是不错的,我认为软肋在电池容量和镜头缺乏上。
2013-12-16 21:42

刘庆: 回复乔纳斯Jonas:不是谁都像您这样啥都有的。玩到现在我穷的连个UV都买不起。怎么说呢,a7最大的问题应该就是色彩层次缺乏了,至于佳能暗部条纹噪声,这个我还真不知道是因为什么。嗨其实说白了,摄影器材没有性价比可言,一分价钱一分货这句话我觉得还是没错的,a7既然便宜,那肯定是啥地方阉了。出于这种想法我才开始慢慢研究的。
2013-12-16 21:44

乔纳斯Jonas: 回复刘庆:我对电子学了解有限(我以前学化学的)。我有限的了解:如果不容易拉爆,层次应该是比较多才对。毕竟调色实际经常是在压缩颜色,这就是为什么中画幅的16bit文件比较耐处理。至于我的设备。。。其实现在我还在用的中间,爸妈给/借给我的就一ef50 1.4以及现在的学费还有一部10年车龄的丰田。我的相机镜头灯具附件什么的全是赚和存的。
2013-12-16 21:51

刘庆: 回复乔纳斯Jonas:国外的经济和国内不是一个等次啊您考虑好。哈哈化学~~~胶片那个时代是化学人的天下,现在倒是换了世界~怎么说呢,不容易拉爆不代表层次多,只代表极值差大。我相册里有一张索尼在跳变点出乱色的样图,其实就是极端情况下编码问题所产生的。
2013-12-16 21:54

乔纳斯Jonas: 回复刘庆:我去赶个图,先这样,回聊。ps,其实我在国内干了蛮久的,略。
2013-12-16 22:12

倪瀚文∞Fantasia: 请问D800在RAW的数值分析上和D800E有没有什么本质差别?
2013-12-18 08:55

张恒峰: 我咋一点也看不懂啊,朝哥@刘建朝
2013-12-18 17:30

張 越: @康昊天 你看这个
2014-01-07 12:34

魏仁泯: 发了一个宾得的照片.辛苦楼主了.
2014-03-02 12:05

魏仁泯: 还有楼主是否注意到不同相机的动态范围设定了?有些相机是有高亮区,阴影区动态范围自动优化的.不知道那个是否影响.
2014-03-02 12:24

区境超: 请问有D7000的分析吗?可以发一个到我邮箱吗?jypk74@163com
2014-03-05 15:26

王旭阳.aes256: 求分析D700,看看D700到D800E到底进步了多少,回头挑几张发你
2014-05-29 15:09

王旭阳.aes256: 已发送,请查收,求大神分析
2014-05-31 00:21

郭瑞: 大神你好,我是这方面的菜鸟新手,想知道你这里的CSV数据文件是怎么生成的,能提供我一个读取raw这方面的代码么
2014-08-04 22:16

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多