四叉树(quad tree)数据结构能把大量坐标数据压缩保存到内存空间,它总是将给定空间分割为 4 个, 然后以递归形式表示,故得名四叉树。其最著名的应用就是对黑白图像(当然也可以是任何一个二值图像)的压缩。

四叉树会以字符串的形式对 2N2N 的黑白图像进行如下压缩,

  • 递归退出的条件:
    • 图像的所有像素为黑色,则无论图像的大小是多少,四叉树在该分支上的压缩结果都是 b(black)
    • 图像的所有像素为白色,则无论图像的大小是多少,四叉树在该分支上的压缩结果都是 w(white)
  • 图像的像素不都是相同颜色,则先把图像纵向及横向个一分为二(四等分),然后对 4 个小图像(每个小图像又可接着递归压缩)进行四叉树压缩(四叉树存储),则整个图像的压缩结果为:左上部分的压缩结果 右上部分的压缩结果 左下部分的压缩结果 右下部分的压缩结果
    • X=X1+X2+X3+X4=(X11+X12+X13+X14)+(X21+X22+X23+X24)+
posted on 2016-09-07 11:01  未雨愁眸  阅读(367)  评论(0编辑  收藏  举报