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

本站现有博文336篇,共被浏览948666

本站已经建立2659天!

热门文章
文章归档