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

本站现有博文323篇,共被浏览795420

本站已经建立2493天!

热门文章
文章归档