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

本站现有博文328篇,共被浏览839144

本站已经建立2543天!

热门文章
文章归档