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

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

本站已经建立2583天!

热门文章
文章归档