当前位置: 首页 > news >正文

免费做app的网站哪个好广东省住房和城乡建设厅

免费做app的网站哪个好,广东省住房和城乡建设厅,赤壁市建设局网站,提高基层治理效能前言 之前想对图片素材进行分类管理,除了打标签,还有一样是通过主题色进行分类。于是开始寻找能提取主主题色的工具,最后找到了大名鼎鼎的 Leptonica 库,其中就有中位切割算法的实现。下面附上中位切割算法的其它语言版本的实现。…

前言

之前想对图片素材进行分类管理,除了打标签,还有一样是通过主题色进行分类。于是开始寻找能提取主主题色的工具,最后找到了大名鼎鼎的 Leptonica 库,其中就有中位切割算法的实现。下面附上中位切割算法的其它语言版本的实现。

  • JavaScript版:quantize (此库有提取颜色数量不对的问题,见 issues/9)
  • Java版:theme-color (我自己基于 quantize 实现的Java版)

中位切割算法(Median cut)

theme-color 项目的效果如下:

Untitled

讲中位切分法之前,我们先聊聊颜色该如何描述。

颜色模型

常见的颜色模型有RGB,HSV等,中位切分法基于 RGB 模型。RBG 模型是一种加色模型,将红(Red)、绿(Green)、蓝(Blue)三原色的色光以不同的比例相加,以合成产生各种色彩光。每个像素由24位编码的RGB值表示,使用三个8位无符号整数(0到255)表示红色、绿色和蓝色的强度,所以RGB能表示1677万(256∗256∗256)万种颜色。如果将所有的颜色采用三维空间来进行描述,则如下图所示:

算法实现

中位切割算法(Median cut) 是Paul Heckbert于1979年提出来的算法。原理是将图像颜色映射成三维色彩空间中的长方体,沿着RGB中最长的一边从颜色数量统计的中位数一切为二,使得到的两个长方体所包含的像素数量相同,重复上述步骤,直到得到想要数量的长方体。

原理很简单,但是 Leptonica 的实现包含了很多细节。

压缩颜色总数

算法需要统计图像的每种颜色的数量(色彩分布图),也就是需要将三维的长方体映射到一维的数组中,RGB 总颜色数量达到1677万 (2^8 * 2^8 * 2^8),这在检索的时候会造成不小的性能开销。如果将8位无符号整数(0到255)压缩到5位无符号整数(0到31),那么总数量减少到 2^5 * 2^5 * 2^5 = 32768,而且可以使用 int 来表示数组下标了。

中位切分的优化

在原始的中位切分法中,是沿着颜色数量统计的中位数将长方体(vbox)一切为二的,Leptonica 中对此进行了优化,改成通过中位数将 vbox 分为左右两个vbox(只是分出左右,还未切割),然后从左右选出体积较大的vbox的中点进行切割。下面放上作者原话

Determine the cut planes, making sure that two vboxes are always produced. Generate the two vboxes and compute the sum in each of them. Choose the cut plane within the greater of the (left, right) sides of the bin in which the median pixel resides. Here’s the surprise: go halfway into that side. By doing that, you technically move away from “median cut,” but in the process a significant number of low-count vboxes are produced, allowing much better reproduction of low-count spot colors.

长方体体积大包含像素少问题

存在某些条件下 VBox 体积很大但只包含少量像素。解决的方法是,每次切分前先对所有 vbox 排序,再取出优先级最高的 vbox 进行中位切分。如果需要切割的 vbox 总数为 total,那前 total * FractByPopulation 个 vbox 以 vbox包含的像素数 排序,后 total * (1-FractByPopulation) 个 vbox 以 包含像素数 * vbox体积 排序。

FractByPopulation的值在 Leptonica 库中为 0.85,在 quantize 库中为 0.75

总结

本文介绍了中位切割算法以及在 Leptonica 库中的实现。

参考资料

三原色光模式 - 维基百科,自由的百科全书 (wikipedia.org)

中位切割算法 - 维基百科,自由的百科全书 (wikipedia.org)

图像主题色提取算法_mmcq算法_mingo_敏的博客-CSDN博客

http://www.yayakq.cn/news/877696/

相关文章:

  • c 网站开发实例wordpress 美食主题
  • 网站后台设置湖南平台网站建设哪里有
  • 做公司网站一般多少钱百度关键词排名优化工具
  • 定制鞋子哪个网站好怎样进网站ftp
  • 软件技术专科就业方向及前景谷歌seo怎么做的
  • 做饮食网站怎么样商标注册网上申请流程25个步骤
  • 环保公司网站建设方案广告设计与制作专业简历
  • 建设网站的企业公司ngrok WordPress
  • dw免费网站模板做返利网站能赚钱么
  • 建设电子商务网站的方案上海网站怎么备案
  • 扫二维码直接进网站怎么做西安专业网站建设公司
  • 齐齐哈尔网站seo网站建设基础与实践
  • 网站建设流程精英网站开发多语言
  • 用网站做邮箱吗免费用搭建网站
  • 佛山网站建设技术托管网站成本
  • 苏州建网站制作费用多少钱wordpress 音乐模板
  • 网站排名优化价格无排名优化
  • 做推广必须知道的网站大型租车门户网站商业版源码
  • 针对网站开发者的问答网站做私人没有备案的网站
  • php网站建设实训引言手机网站一键开发
  • 怎么做网站推广世界杯网站建设属于无形资产吗
  • 网页特技的网站使用flash做网站
  • 婚礼网站模板动漫设计专业大专学校
  • 网站搜索框设计个人网站 百度推广
  • 大型网站开发的书建网站可以铺货
  • 网站同时使用asp phpwordpress幻灯插件
  • 好看的网站ui电子商务网站开发模块流程图
  • 国外创意网站欣赏手机怎么做淘客网站
  • wordpress+整站下载移动端网站教程
  • 南宁企业网站建设技术公司天津哪里有做网站的