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

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

本站已经建立2664天!

热门文章
文章归档