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

本站现有博文324篇,共被浏览810000

本站已经建立2513天!

热门文章
文章归档