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

本站现有博文321篇,共被浏览764942

本站已经建立2443天!

热门文章
文章归档