大致思路是首先利用node.sample()自带采样功能对整个画面逐像素采 样,我把采样函数写的比较灵活,可以定义一个采样族,即把整个画面分成若干块,逐块采样,很大程度上减少了采样工作量,但相对精度会有所降低。考虑到单幅 画面包含RGBA四个分量,所以对一个画面我会分别采样四次。对参考图片采样完毕之后还需要对目标图片进行采样,所以总计需要采样八次,这是一个不小的计 算量。

采样完毕后会产生大量数据,我找了很多工具包来尝试管理这些数据,最终选择numpy,这个工具包简单易用,array数组或matrix矩阵的数据储存方式跟采样画面能够建立一个非常直观的对应关系。
numpy更是一个非常强大的数据分析工具,可以很高效的获得所需信息。通过numpy,可以计算得到当前采样画面的最大值最小值,数值分布直方图等。
获得两张图片的相关信息后就需要考虑提出一个可行的算法来进行匹配了。
我 的第一个思路是直方图匹配,这是老生常谈,我的算法稍有不同,我只匹配两幅直方图中的波峰,只要两张图片的RGB三通道的波峰能匹配一致,就大功告成,但 实际匹配过程中直方图的拟合又出现了很多问题,最终我只能采取近似的方式去进行,最终结果并没有理想的那么精确,而却遇到画面亮暗部过渡均匀的情况更难捕 捉波峰,精度下滑很严重。要提出一个新的算法又要考虑时间成本,最终我采用了折衷的方案,即出一个工具包,内部有两个节点,一个用于自动匹色,一个在采样 基础上提供手动匹色功能。至于直方图匹配过程需要调整的数值如何映射到nuke中的gain值gamma值blackpoint值whitepoint值 上,这其实都是有公式的,网上查一查就可以了。

Nuke的色彩匹配节点思路的更多相关文章

  1. 转:zTree树控件扩展篇:巧用zTree控件实现文本框输入关键词自动模糊查找zTree树节点实现模糊匹配下拉选择效果

    是否可以借助于zTree实现文本框输入关键词自动模糊匹配zTree下拉树,然后选择下拉树内节点显示在文本框内且隐藏下拉树. 看到这个需求脑子里头大致已经想到了要如何实现这样一个需求,当时是限于时间问题 ...

  2. 【剑指offer】部分思路整理

    题目 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去 ...

  3. HDU 2426 Interesting Housing Problem(二分图最佳匹配)

    http://acm.hdu.edu.cn/showproblem.php?pid=2426 题意:每n个学生和m个房间,现在要为每个学生安排一个房间居住,每个学生对于一些房间有一些满意度,如果满意度 ...

  4. Node节点

    1.Node:节点元素节点->HTML标签文本节点->文字 但是在标准浏览器(除了IE6~8)中会把空格和换行都当做文本节点来处理注释节点->注释document2.节点的特征元素节 ...

  5. XML通过XSL格式化的那点事(XML到自定义节点折叠显示)

    引言 有时我们想看下系统生成的XML文件(如XML格式的Project文件),如果文件结构简单,我们浏览器看起来还比较方便,但是随着XML schema复杂后就变得让人头疼啦,单独写一个程序去做展现又 ...

  6. 使用jQuery的Scrollify插件实现鼠标滚轮或者手势滑动到页面下一节点部分

    有时我们需要做一个单页面介绍产品特性,而单页面内容非常多且页面非常长,为了快速定位到产品特性节点,我们使用js侦听用户滚轮事件,当用户触发滚轮滑动或者使用手势触屏滑动时,即可定位到相应的节点.一款jQ ...

  7. Java/Js下使用正则表达式匹配嵌套Html标签

    转自:http://www.jb51.net/article/24422.htm 以前写过一篇文章讲解如何使用正则表达式完美解决Html嵌套标签的匹配问题(使用正则表达式匹配嵌套Html标签),但是里 ...

  8. 使用JavaScript操作DOM节点元素的常用方法(创建/删除/替换/复制等)

    getElementById(id)这是通过id来访问某一元素,最常用的之一,例:<html><body><div id="myid">test ...

  9. URAL 1076 Trash Trash(最大权匹配)

    Trash Time limit: 1.0 secondMemory limit: 64 MB You were just hired as CEO of the local junkyard.One ...

随机推荐

  1. HslCommunication组件库使用说明

    一个由个人开发的组件库,携带了一些众多的功能,包含了数据网络通信,文件上传下载,日志组件,PLC访问类,还有一些其他的基础类库. nuget地址:https://www.nuget.org/packa ...

  2. Spring Boot 揭秘与实战(二) 数据存储篇 - MongoDB

    文章目录 1. 环境依赖 2. 数据源 2.1. 方案一 使用 Spring Boot 默认配置 2.2. 方案二 手动创建 3. 使用mongoTemplate操作4. 总结 3.1. 实体对象 3 ...

  3. 【转&改进】Linux MPI 单机配置

    MPI的全称是Message Passing Interface即标准消息传递界面,可以用于并行计算.MPI有多种实现版本,如MPICH, CHIMP以及OPENMPI.这里我们采用MPICH版本. ...

  4. Angular 201703

    $http vm.auth = function() { return $http({ method: 'POST', url: 'sys/auth.json' }) } service.auth() ...

  5. 莫队算法 [国家集训队]小Z的袜子

    题目链接   洛古   https://www.luogu.org/problemnew/show/P1494 大概说下自己的理解 先来概率的计算公式   ∑C(2,f(i))  /  C(2,r−l ...

  6. myeclipse从svn导入文件报错:

    Access restriction:The type JPEGCodec is not accessible due to restriction on required library C:\Pr ...

  7. hdu4059 The Boss on Mars 容斥原理

    On Mars, there is a huge company called ACM (A huge Company on Mars), and it’s owned by a younger bo ...

  8. linux---三剑客

    linux的三剑客分别为awk/sed/grep,是运维人员必不可少的常用命令. 一:awk取列 awk ‘{print $1 “ ” $2}’ old.txt awk /aaa/ old.txt 二 ...

  9. 解决ERROR - unregister mbean error javax.management.InstanceNotFoundException: com.alibaba.druid:type=

    https://blog.csdn.net/chengsi101/article/details/72627062 https://www.cnblogs.com/gradven/p/6323195. ...

  10. jsp&el&jstl mvc和三层架构

    jsp:java在html中插入java 一.JSP技术 1.jsp脚本和注释 jsp脚本:(翻译成servlet,源码位置apache-tomcat-7.0.52\work\Catalina\loc ...