批量转换——颜色代码(16进制)与RGB

调研 语义分割 各大公开数据集色号时,发现Cityscapes的色号 为16进制
需要的是RGB的值

用网页来回转换 复制的时候总出现问题(自己的原因,总复制错行)
颜色代码
这一步有点麻烦
把Excel的数据粘贴到Word里,替换 换行符 为 -
删除最后一个 -
替换删除
全选、粘贴到 inColor_all 里面

#coding:utf-8
import re
import os

def Hex_to_RGB(tmp):
    Hex = re.findall(r'(.{2})',tmp)
    strs = ""
    for i in range(0,len(Hex)):
        strs += str(int(Hex[i],16)) + ','
    file.write(strs[0:-1] + '\n')

def RGB_to_Hex(tmp):
    Rgb = tmp.split(',')
    strs = '#'
    for i in Rgb:
        num = int(i)
        strs += str(hex(num))[-2:].replace('x','0').upper()
    file.write(strs + '\n')

if __name__ == "__main__":
    inColor_all = input("请输入带有 - 分割的RBG值或十六进制颜色代码:")
    inColor = inColor_all.split("-")
    root_path = os.getcwd()
    outfile = root_path + '\\color.txt'
    file = open(outfile, 'w')
    for i in range(0,len(inColor)): 
        if(inColor[i][0] == "#"):
            tmp = inColor[i][1:]
            Hex_to_RGB(tmp)
        else:
            tmp = inColor[i]
            RGB_to_Hex(tmp)
    file.close()

运行后,输出的数据 可以直接粘贴到Excel里面
完成
这里我打包成了一个程序
使用说明
可以先检测以下#DDDDDD-#EFEFEF-#94450B-#EED484-#E3D8FD-#EDEDFD-#C4DDFD-#D76B00-#C7F328-#E68699-#FF5A34
成功批量转换
检测

这里附上链接,可以直接下载使用
https://pan.baidu.com/s/1p1NXRGBrzzZZflTJyup2hw


当然可以用于检查,判断之前的是否粘贴错误
我这里有个FALSE,之前粘贴时复制错误的
是否粘贴错误

发布了36 篇原创文章 · 获赞 3 · 访问量 1739

猜你喜欢

转载自blog.csdn.net/qq_38689395/article/details/103277470
今日推荐