EADST

Get the Main Color from the Given Image

Get the Main Color from the Given Image

import numpy as np
import  cv2

def getColorList():
    color_dict = {}

    # black
    lower_black = np.array([0, 0, 0])
    upper_black = np.array([180, 255, 46])
    color_list = []
    color_list.append(lower_black)
    color_list.append(upper_black)
    color_dict['black'] = color_list

    #gray
    lower_gray = np.array([0, 0, 46])
    upper_gray = np.array([180, 43, 220])
    color_list = []
    color_list.append(lower_gray)
    color_list.append(upper_gray)
    color_dict['gray']=color_list

    # white
    lower_white = np.array([0, 0, 221])
    upper_white = np.array([180, 30, 255])
    color_list = []
    color_list.append(lower_white)
    color_list.append(upper_white)
    color_dict['white'] = color_list

    #red
    lower_red = np.array([156, 43, 46])
    upper_red = np.array([180, 255, 255])
    color_list = []
    color_list.append(lower_red)
    color_list.append(upper_red)
    color_dict['red']=color_list

    # red2
    lower_red = np.array([0, 43, 46])
    upper_red = np.array([10, 255, 255])
    color_list = []
    color_list.append(lower_red)
    color_list.append(upper_red)
    color_dict['red2'] = color_list

    #orange
    lower_orange = np.array([11, 43, 46])
    upper_orange = np.array([25, 255, 255])
    color_list = []
    color_list.append(lower_orange)
    color_list.append(upper_orange)
    color_dict['orange'] = color_list

    #yellow
    lower_yellow = np.array([26, 43, 46])
    upper_yellow = np.array([34, 255, 255])
    color_list = []
    color_list.append(lower_yellow)
    color_list.append(upper_yellow)
    color_dict['yellow'] = color_list

    #green
    lower_green = np.array([35, 43, 46])
    upper_green = np.array([77, 255, 255])
    color_list = []
    color_list.append(lower_green)
    color_list.append(upper_green)
    color_dict['green'] = color_list

    #blue
    lower_blue = np.array([78, 43, 46])
    upper_blue = np.array([124, 255, 255])
    color_list = []
    color_list.append(lower_blue)
    color_list.append(upper_blue)
    color_dict['blue'] = color_list

    # purple
    lower_purple = np.array([125, 43, 46])
    upper_purple = np.array([155, 255, 255])
    color_list = []
    color_list.append(lower_purple)
    color_list.append(upper_purple)
    color_dict['purple'] = color_list

    return color_dict


def get_color(path):
    frame = cv2.imread(path)
    h, w, c = frame.shape
    if h > 224 and w > 224:
        frame = frame[int(h/2)-112:int(h/2)+112, int(w/2)-112:int(w/2)+112, ]
    hsv = cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)
    maxsum = -100
    color = None
    color_dict = getColorList()
    for d in color_dict:
        mask = cv2.inRange(hsv,color_dict[d][0],color_dict[d][1])
        binary = cv2.threshold(mask, 127, 255, cv2.THRESH_BINARY)[1]
        binary = cv2.dilate(binary,None,iterations=2)
        img, cnts, hierarchy = cv2.findContours(binary.copy(),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
        sum = 0
        for c in cnts:
            sum += cv2.contourArea(c)
        if sum > maxsum :
            maxsum = sum
            color = d
    return color


if __name__ == '__main__':
    filename='test.jpeg'
    print(get_color(filename))
       
      
相关标签
About Me
XD
Goals determine what you are going to be.
Category
标签云
tar Google SQLite Password Jetson OpenCV QWEN WAN Color ChatGPT Baidu Dataset Rebuttal Datetime Pandas Excel RGB tqdm SQL SAM CLAP TTS Heatmap Clash CEIR Template icon 证件照 OCR Bin 飞书 Hilton Land Proxy Bipartite Web IndexTTS2 Safetensors SPIE Video LLAMA 关于博主 FastAPI COCO ResNet-50 腾讯云 CC Review Pillow Shortcut GGML Pytorch Gemma 音频 Permission XGBoost printf NameSilo Paper 多线程 Pickle GoogLeNet FP32 Tensor Magnet 论文 logger mmap Translation git-lfs BF16 Input CUDA Markdown WebCrawler PyCharm Numpy TensorFlow PDB Qwen Random Breakpoint git 顶会 Python DeepStream Food Vim 继承 算法题 Website 论文速读 FlashAttention Crawler 净利润 NLP BeautifulSoup Nginx scipy TSV Knowledge API Windows transformers LLM RAR VGG-16 torchinfo BTC Github Diagram 公式 财报 Firewall InvalidArgumentError 图标 CV Base64 PDF Quantize Card Miniforge GPT4 NLTK 域名 DeepSeek Plate Hungarian SVR LoRA 云服务器 Ubuntu Bert EXCEL OpenAI Linux Qwen2 C++ PIP hf uwsgi Ptyhon uWSGI 强化学习 Mixtral FP16 报税 搞笑 Cloudreve HaggingFace 递归学习法 Llama 多进程 YOLO Agent CAM Anaconda Search Image2Text Transformers Data FP8 Plotly Distillation CSV Augmentation Disk Vmess 阿里云 Sklearn Docker Tiktoken 图形思考法 CTC Conda Qwen2.5 GIT llama.cpp Quantization Streamlit Michelin TensorRT News Freesound Algorithm FP64 Math Logo Statistics 签证 Interview Paddle ONNX ModelScope MD5 AI diffusers 第一性原理 Zip JSON LaTeX VPN Django PyTorch Bitcoin HuggingFace 版权 Git Tracking Attention GPTQ v2ray Domain Jupyter UI UNIX ms-swift Claude v0.dev VSCode Use Hotel XML LeetCode Animate
站点统计

本站现有博文330篇,共被浏览865373

本站已经建立2573天!

热门文章
文章归档