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

本站现有博文320篇,共被浏览757356

本站已经建立2422天!

热门文章
文章归档