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

本站现有博文327篇,共被浏览828354

本站已经建立2534天!

热门文章
文章归档