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

本站现有博文332篇,共被浏览901899

本站已经建立2603天!

热门文章
文章归档