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

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

本站已经建立2624天!

热门文章
文章归档