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

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

本站已经建立2624天!

热门文章
文章归档