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

本站现有博文332篇,共被浏览875521

本站已经建立2583天!

热门文章
文章归档