超级好用|RGB颜色如何变为Google Earth Engine中的16进制六位颜色,有手就可以实现

学术   2024-12-16 19:29   云南  

想象一下,在你作图的时候,是不是需要自己配色;或者当你在复现别人结果的时候,需要把影像加载到Map上,但是发现颜色映射表不好写。你可能在一个好期刊上找到了配色表,但是又不知道这个颜色的具体值是什么。此时,你很很想知道,但是又无从下手。怎么办?当然有解决办法。今天的内容就是关于这个小工具的使用的。

那下面的图片为例,我们现在想看看Corn和Soybean区域的颜色值是多少,以及如何转为16进站的6位数。我们怎么做才可以呢?

我们可以用一个截图工具,例如微信自带的截图工具,我们按住截图键,然后停在我们需要的位置,如下图所示。此时,你就会发现原来黄色corn区域的rgb颜色映射值是(255,209,10)。我们现在需要把这个值转换为16进制颜色值,例如#FFD9A1这种形式,该如何操作呢?

你可能想着在网上找一些小插件来实现,但是很多时候并不好用。那么,有没有什么好的解决办法呢?有的,那就是直接编写代码来实现。例如,我们使用下面的代码,就可以实现下面的颜色映射了。

具体代码如下:

import matplotlib.pyplot as plt  

def rgb_to_hex(rgb_color):  
    """  
    将RGB颜色转换为16进制颜色  
    :param rgb_color: (R, G, B) 元组,例如 (255, 87, 51)  
    :return: 16进制颜色字符串,例如 "#FF5733"  
    """
  
    return "#{:02X}{:02X}{:02X}".format(*rgb_color)  

def show_color_from_rgb(rgb_color):  
    """  
    显示指定的RGB颜色  
    :param rgb_color: (R, G, B) 元组,例如 (255, 87, 51)  
    """
  
    hex_color = rgb_to_hex(rgb_color)  
    print(f"RGB颜色: {rgb_color} 转换为 16进制: {hex_color}")  
    
    # 创建一个颜色块  
    plt.figure(figsize=(22))  
    plt.imshow([[rgb_color]], extent=[0101])  
    plt.axis('off')  # 不显示坐标轴  
    plt.title(f"Color: {rgb_color}", fontsize=12)  
    plt.show()  

# 示例使用  
rgb_color = (255,209,10)  # 你可以替换为任意RGB值  
show_color_from_rgb(rgb_color)

如果你没有Python编译器,或者电脑没有安装Python,你也可以直接使用网页的Python编译器。

例如,我们把上面的代码复制到网页编辑器(https://www.mycompiler.io/new/python),就可以实现上面的功能,非常的方便。效果图如下所示:

大家快去用起来吧!!!

交流合作&科研搭子

团队简介:geeAI学习室是一群具有摄影测量与遥感和计算机等专业背景的高校博士生(含在读和已毕业)创办的用于分享科学前沿动态、专注智能计算和数据的平台。该平台主要结合Google Earth Engine(GEE)云平台和人工智能(AI)技术,实现对地理空间数据的高效处理和智能分析。截至目前,已经有好几千人参加了本平台的学习课程等,其中报名的会员人数已经超过400+,协助学员发表SCI一区/二区高级别论文20篇以上。
科研搭子:geeAI学习室创建了多个学习交流群,交流群成员来自各地高校和研究所,涵盖本科、硕士、博士和老师群体,可以在交流群交流讨论、积极碰撞、找到共同研究兴趣的“科研搭子”以及下载各种学术论文等

想加入交流群的同学可加小编微信让其邀请进群(扫描下方二维码咨询报名或菜单栏“联系我们”选项框都可以找到小编哟)。注意,咨询加群验证信息请备注为“学位-研究方向-学校-加群”格式否则不予通过。例如,假如你是武汉大学土地利用分类方向的博士研究生,则可以备注“博士-LULC-武大-加群”;假如你是清华水文方向的硕士研究生,则可以备注“硕士-水文-清华-加群”。

如果有帮助,点赞、关注、转发一下呗

走天涯徐小洋地理数据科学
一个爱生活的地理土博,分享GIS、遥感、空间分析、R语言、景观生态等地理数据科学实操教程、经典文献、数据资源
 最新文章