阿里巴巴 鹿班實驗室演算法實現系列 顏色識別

2021-10-08 16:20:23 字數 2019 閱讀 9808

顏色識別部分主要是採用sklearn模組中的kmeans演算法實現影象顏色空間的聚類,kmeans演算法已有很多部落格介紹其演算法原理,在此不再詳述,kmeans原理可參考此鏈結

具體**實現:

from sklearn.cluster import kmeans

import utils

import cv2

import os

defconvert_color

(value)

: digit =

list

(map

(str

,range(10

)))+

list

("abcdef")if

isinstance

(value,

tuple):

# 顏色轉換,(255,255,255)#fffff

string =

'#'for i in value:

a1 = i //

16 a2 = i %

16 string += digit[a1]

+ digit[a2]

return string

elif

isinstance

(value,

str)

:# 顏色轉換,#fffff(255,255,255)

a1 = digit.index(value[1]

)*16+ digit.index(value[2]

) a2 = digit.index(value[3]

)*16+ digit.index(value[4]

) a3 = digit.index(value[5]

)*16+ digit.index(value[6]

)return a1, a2, a3

file_path =

'.\\imgs\\'

file_list = os.listdir(file_path)

forfile

in file_list:

img_name = file_path +

file

ori_image = cv2.imread(img_name)

image = cv2.cvtcolor(ori_image, cv2.color_bgr2rgb)

image = image.reshape(

(ori_image.shape[0]

* ori_image.shape[1]

,3))

clt = kmeans(n_clusters=8)

clt.fit(image)

hist = utils.centroid_histogram(clt)

bar = utils.plot_colors(hist, clt.cluster_centers_)

for color in clt.cluster_centers_:

color =

tuple

(color.astype(

'uint8'))

str_color = convert_color(color)

# rgb值 -> 16進製制顏色值

阿里雲體驗實驗室 5 快速搭建LNMP環境

1 安裝並配置mysql wget yum y install mysql57 community release el7 10.noarch.rpm yum y install mysql community server 啟動 mysql 資料庫 systemctl start mysqld.s...

合天網安就業班 合天網安實驗室 SQL注入入門一

標籤 實驗平台 合天網安實驗室.web應用安全.sql注入實驗一 實驗環境 apache php mysql 實驗原理 sql注入是一種將sql 插入或新增到應用的輸入引數中的攻擊,之後再將這些引數傳遞給後台的sql伺服器加以解析並執行。傳統的手工 1 判斷是否有注入點 方法一 在url後面加 從而...

阿里雲體驗實驗室 1 基於ECS搭建雲上部落格體驗

雲伺服器 elastic compute service,簡稱ecs lamp linux 作業系統 apache http 伺服器 mysql 資料庫 和 php 網路程式語言 1 連線ecs伺服器 ssh v openssh 7.9p1,libressl 2.7.3 登入 ssh root 13...