正式发布!Matlab配色神器TheColor_thecolor matlab-程序员宅基地

技术标签: matlab  可视化  论文插图  Matlab插图  开发语言  

作图过程中,最耗费时间、心力的是什么

配色

想要省时省心,一种简单的方法是向高手借鉴

所谓“君子生非异也,善假于物也”。

什么意思呢?

简单来说就是,虽然你是个【小人物】,但你完全可以踩在【巨人】的肩膀上,向他们【借力】

想象一下,当你辛辛苦苦选出了一套配色方案,你的领导说还差点意思;送到编辑、专家手上,又说你得考虑色盲人群、考虑色调统一云云。结果一圈下来,发现还是第一套方案最好……

他们只是动了动嘴,而你浪费的是实打实的青春

但没办法,因为你是小人物,他们是权威

然而,but,所谓人外有人,天外有天,权威之外还有权威

假如你手上刚好有一套权威配色库,那么,当他们再次质疑你的时候,你就可以说,我用的是某某大佬的配色哎~

这样,即便他们没有当场让步,后续你也可以不用花多少时间,在配色库中随便再选一套配色方案,说:“感谢您的宝贵意见,我们参考某某大佬的配色重新对作品进行了修改。”

虽然听起来有点贱,但是有用,毕竟只有魔法才能打败魔法

只不过,爬到巨人的肩膀上、建立一个权威的配色库并不容易,这需要你花费大量的时间精力,去浏览、阅读、积累……这样你才能有的选。

那咋办呢?

1. TheColor

从三月份至今,我用了小半年时间,制作了这款Matlab终极配色神器TheColor,中文名取两个单词的首字母TC,起为添彩,意思是为我们的插图增添一点光彩。

TheColor中集成了超过300篇《Nature》论文中的插图以及python matplotlib、seaborn,R ggplot2、ggsci、ggthemes,Surfer、origin等一众软件、插件中的2110套配色方案。此外,我还从电影海报、摄影作品、广告插图、配色网站以及毕加索、梵高、莫奈等大师的绘画作品中提取了将近5000套配色方案

当然,如果你觉得我收集的这些配色方案都不符合你的口味,TheColor中还集成了一系列配色方案采集工具帮助你建立属于自己的配色库

2. TheColor功能简介

2.1 SCI权威配色库调用

TheColor中集成了超过300篇《Nature》论文中的插图以及python matplotlib、seaborn,R ggplot2、ggsci、ggthemes,Surfer、origin等一众软件、插件中的2110套配色方案

这些配色方案中既包含对比色,又包含渐变色。其中,对比色最多由448种不同颜色组成,可实现多个点、线、面对象的区分

使用时,只需要对照速查表选择想要配色方案的序号(括号中数字为配色方案包含颜色的数量)作为输入参数,即可得到对应配色方案RGB矩阵:

%% demo1-SCI配色使用% 选择1号配色C1 = TheColor('sci',1,'seka',1);% 选择1665号配色C2 = TheColor('sci',1665,'seka',1);% 选择2062号配色C3 = TheColor('sci',2062,'seka',1);

2.2 大师作品配色库调用

TheColor中集成了从电影海报、摄影作品、广告插图、配色网站以及毕加索、梵高、莫奈等大师绘画作品中提取的将近5000套配色方案。这些配色方案同样包含对比色与渐变色

使用时,只需要对照速查表选择想要配色方案的序号作为输入参数,即可得到对应配色方案RGB矩阵:

%% demo2-Dream配色使用% 选择1号配色C1 = TheColor('dream',1,'seka',1);%% demo3-Hunt配色使用% 选择788号配色C2 = TheColor('hunt',788,'seka',1);%% demo4-Gradient渐变配色使用% 选择929号渐变配色C3 = TheColor('gradient',929,'seka',0);

2.3 图片颜色提取

TheColor可以从图片中提取一个或多个像素的颜色,从而生成自己的配色方案。使用时,选择某一图片打开,鼠标点击想要颜色的位置,即可得到配色方案:

%% demo5-图片颜色提取% 在图片中点击选择颜色,按回车键结束选择C = TheColor('copy','seka',1);

2.4 渐变色生成

TheColor中内置了一个渐变色生成器,可以对TheColor输出的配色方案进行进一步的处理:既可以将配色方案进行加密,又可以对配色方案进行抽稀

%% demo6-渐变色% 选择sci配色中的1号配色,致密化为包含256种颜色的渐变色C1 = TheColor('sci',1,'map',256,'seka',0);% 选择gradient中的923号渐变色,稀疏化为包含10种颜色的配色C2 = TheColor('gradient',923,'map',10,'seka',1);% 选择图片中颜色,致密化为包含256种颜色的渐变色C3 = TheColor('copy','map',256,'seka',0);

2.5 图片中ColorBar渐变色提取

如果你在看论文时,发现其插图所使用的渐变色还蛮好看的,想要用到自己的论文插图中。这时,如果使用TheColor的图片颜色提取+渐变色生成功能,可能会由于采样点的分布不均匀导致所提取的渐变色与原版有一定出入

为了解决这一问题,TheColor中内置了ColorBar渐变色均匀提取功能,使用时只需点击ColorBar首尾两点即可自动提取等间隔的N个采样点。进一步,配合渐变色生成器可得到致密化的渐变色。

%% demo7-图片中Colorbar渐变色均匀提取% 选择图片colorbar首尾两点,按回车键,均匀提取colorbar上10个点C1 = TheColor('copymap',10,'seka',1);% 选择图片colorbar首尾两点,按回车键,均匀提取colorbar上10个点,% 进一步致密化为包含256种颜色的渐变色C2 = TheColor('copymap',10,'map',256,'seka',0);

2.6 图片主题色自动提取

TheColor内置了图片主题色自动提取功能,可以自动分析图片中各种颜色的占比,然后将占比高的前N种颜色作为主题色输出。图片主题色自动提取通过两种算法实现:九宫格算法与K-means算法

比如我们有一张摄影作品以及一幅毕加索的画作,选择其占比最高的前8种颜色作为主题色,提取的主题色会显示在图片的下方或者右侧:

%% demo8-图片主题色自动提取% 选择图片,采用九宫格法提取包含8个颜色的主题色C1 = TheColor('img2palette1',8,'seka',1);% 选择图片,采用K-means提取包含8个颜色的主题色C2 = TheColor('img2palette2',8,'seka',1);

每种颜色的占比会在命令行窗口显示:

2.7 盲盒与联想模式

TheColor中涵盖了几千种配色方案,但你可能会说,我有选择恐惧症怎么办

没关系,TheColor中还内置了盲盒功能,帮你克服选择恐惧。而由于盲盒里是几千种大师配色中的一种,所以不用担心配色不够权威

特别地,TheColor中还有一个神奇的功能——联想配色。之前也提到过,部分配色方案是我从电影海报、摄影作品等等内容中提取出来的,而这些内容一般都有标题、简介等文字描述。这样,TheColor可以根据你输入的关键词与相应的作品进行匹配,达到通过意境进行配色的目的

%% demo9-联想配色% 输入联想关键词,自动生成配色C1 = TheColor('think','简单','seka',1);%% demo10-配色盲盒% X模式,自动生成配色C2 = TheColor('X','seka',1);

2.8 949种补充颜色

如果你想要自己搭配颜色,TheColor中包含了一个最常用颜色库XKCD:

通过对照速查表选择想要颜色的编号作为输入参数,即可得到颜色矩阵C:

%% demo11-挑选单一颜色% 对照cheetsheet选择颜色号C = TheColor('xkcd',[730 795 690 692 914],'seka',1);

3. TheColor获取方式

由于资金有限,TheColor目前仅支持Windows系统,不支持MacOS系统(有条件会在后续的版本中添加)。

TheColor在Matlab 2015b以上版本均可正常运行,2015b以下版本部分功能无法使用

具体获取方式

TheColor配色工具

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_26447137/article/details/126890083

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法