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

本站现有博文333篇,共被浏览926641

本站已经建立2633天!

热门文章
文章归档