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

本站现有博文337篇,共被浏览961753次

本站已经建立2673天!

热门文章
文章归档