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

本站现有博文327篇,共被浏览833154

本站已经建立2538天!

热门文章
文章归档