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

本站现有博文333篇,共被浏览922517

本站已经建立2628天!

热门文章
文章归档