我想写一个做Alpha Compositing
的软件。我不想从互联网上编写现成的代码,所以我尝试寻找研究论文和其他来源来理解数学算法,并开始实施。
但是,我很快就迷路了。所以我的问题是,
我应该如何处理这些文件,从中提取必要的细节,以便在此基础上编写算法。是否有一套具体的步骤可以很好地工作?
想要的答案:
Note:这个问题不仅限于阿尔法合成,所以更广泛的方法将是有帮助的。我标记了Java
和C++
,因为这是我想要的实现图像处理的语言。
到目前为止我做了什么?
这不是一个家庭作业问题,但当然说出我所知道的更好。我读过维基的阿尔法合成,很少有密切相关的图像合成研究论文。但是,为了从理解到实现,我坚持下一步。
发布于 2012-08-21 00:15:01
您实现过任何图像处理算法吗?也许从一些更简单的东西开始,比如去饱和度/色彩强化,倒转(边对边,上下颠倒),旋转,缩放,以及通过面具合成图像。
一旦你弄清楚了这些,你将处于一个非常好的位置去做一个阿尔法复合。
我同意学术论文似乎会让执行细节变得模糊和不确定。我发现,需要对所编写的内容进行大量简化,才能开始执行实际的实现。在急于概括的过程中,作家们过分地参数化了每一个方面。要构建有用的、可靠的软件,需要从一些简单的、实际工作的东西开始,这样它就可以成为一个添加特性的框架。要做到这一点,就必须抛弃80%-90%的学术概括性.通常,用大量的符号常量可以做很多事情,但是放弃一般性(比如四维和五维图像)在实践中并没有真正失去任何东西。
发布于 2012-08-21 00:05:37
我建议用铅笔和纸阅读含有复杂公式的文章。把所涉及的数学做好,直到你能很好地掌握它。然后,你就准备好编码了。
首先确定对某些图像数据执行算法所需的步骤。包括将图像本身加载到内存中的所有步骤,直到您可能需要执行的复杂计算。然后将该列表构造为伪代码。一旦你有了它,它应该是相当容易编码。
发布于 2012-08-21 00:09:16
写伪码。理想情况下,研究论文的作者会这样做,但他们通常不会这样做。为一些简单的语言(如Matlab或可能是Python )编写伪代码,并黑客编写基于psuedocode的工作实现。
如果您理解算法的某些部分,但不理解其他部分,那么将您的伪代码实现为您所理解的部分的真实代码,并为您不理解的部分留下注释。
务实的程序员中关于“跟踪器子弹”的部分基本上描述了这个想法。您想要快速地将数据合并到某种形式的输出中,然后在代码主体上进行迭代,以使其慢慢类似于您试图生成的算法。
我的答案一定有点含糊。像这样的东西没有魔法子弹。
https://stackoverflow.com/questions/12046820
复制相似问题