ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Audiveris 设计指南

Audiveris 设计指南

原创 Linux操作系统 作者:grazier 时间:2011-03-02 14:43:41 0 删除 编辑

       lag:滞后、间隔虽然run是一个独立存在的实体,能够用在任何含有lag的外边,但是通过lab处理的最基本实体是run。

        一个run就是前景像素的一个数列;(对于本系统除了初始比例计算,均不考虑背景像素)在同一个方向(?定位、方位)上,一个run的所有像素值是一个相连的像素值;

        对于一个横向lag,所有的run都是横向;在一个纵向lag中是相似的,所有的run作为纵向的像素数列被定义。

        前景色和背景色

         灰度级 levels of gray

         灰度级(gray level)指的是所显示像素点的暗亮差别,在彩色显示器中则表现为颜色的不同。

         在Audiveris中,当处理一个被装载的图片时建立lag的run,处理时像素作为灰度级被定义。这个自由的度数是准确的灰度值,这个准确的灰度值把一个相当的黑色像素同一个相当的白色像素分开,黑色像素分配给前景色,白色像素分配给背景色。在类omr.sheet.Picture中灰度值是一个常量,被分配为值227,像素值在0...255区间。任意一个像素值大于或等于灰度值都将作为前景色。

       run通过RunsBuilder类实例生成,

       1、ScaleBuilder在检索所有垂直runs时RunsBuilder被使用,不仅前景背景runs,而且还包括提供整个全局页的两个runs群体间的最频繁长度,,在那种情况下,run以一个标准独立的方式中使用,也就是说不是作为一个lag的一部分。

       2、RunsBuilder也被用于建立lag的过程中,它在第一阶段用于获取runs的集合,第二阶段用于从这些runs中建立sections(节)。

Section是run的集合,在一个section中,所有的run是并排式的固定。在一个水平lag中,所有的section是由一个堆叠在另一个上面的run组成。一个垂直lag更像是Manhattan(目前理解像曼哈顿的城市布局)。

Junctions接口,交叉点:主要问题是确定一个section的结束。在一个section的两边,通过以下方式终止被触发:1)没有run立即固定(定位):对于一个run的边界,此时恰好没有前景像素,所以没有run,当我们试图扩展最一个section的run时。2)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/118838/viewspace-688263/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Jfugue编程概要
请登录后发表评论 登录
全部评论

注册时间:2008-10-20

  • 博文量
    53
  • 访问量
    224222