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

本站现有博文322篇,共被浏览788574

本站已经建立2483天!

热门文章
文章归档