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

本站现有博文315篇,共被浏览746271

本站已经建立2393天!

热门文章
文章归档