日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

python配色_python语言再次解决文章配色难题

發(fā)布時間:2025/3/12 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python配色_python语言再次解决文章配色难题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

配色的選擇是在我們論文文章畫圖過程中經(jīng)常面臨的一個問題。常用的R或python語言都內(nèi)置了默認(rèn)的顏色系統(tǒng),強大的默認(rèn)設(shè)置可以滿足我們的繪圖需求。

但當(dāng)我們需要繪制更多的圖形時,固定的配色就會顯得重復(fù),此時通過自定義顏色就可以豐富圖形的表現(xiàn)。但是當(dāng)遇上選擇困難戶這又誕生了一個更大的問題。隨機的選擇又不能滿足一個處女座該有的挑剔,這可怎么辦呢?下面小鹿將介紹一種從藝術(shù)畫作中提取特征顏色的新奇思路,讓名家審美來滿足挑剔的你~

GRB顏色空間

要想學(xué)會配色,首先要對顏色有一定的認(rèn)知。RGB顏色空間以R(Red:紅)、G(Green:綠)、B(Blue:藍)三種基本色為基礎(chǔ),進行不同程度的疊加,產(chǎn)生豐富而廣泛的顏色,俗稱三基色模式。每一種顏色按其亮度的不同分為256個等級,可表示256的立方16777216種不同的顏色,是計算機使用最廣泛的顏色空間。

將圖片中的每個像素繪制到三維空間如圖所示:

印象派

什么是印象派風(fēng)格?19世紀(jì)60年代,法國畫家克勞德·莫奈(Claude Monet)的一幅油畫《日出·印象》因為過于粗糙、隨便,受到一位記者嘲諷:“完全是憑印象胡亂畫出來的。”;又比如荷蘭后印象派畫家文森特·梵高,都是“印象主義”。隨著時間推移,印象派逐漸成為西方繪畫史上劃時代的藝術(shù)流派。印象主義采取在戶外陽光下直接描繪景物,光影色彩豐富。文章圖形配色以這些經(jīng)歷了歷史沉淀的大師作品作為配色依據(jù),從中提取主題顏色備選成為了文章配色的一種思路。

主題顏色的提取

可從圖片中提取主題色算法有顏色量化法(Color Quantization)、聚類(Clustering)和顏色建模等方法。下圖為通過聚類算法,提取部分印象派畫作主題色,以十六進制表示。圖1| 莫奈名畫圖2 |梵高名畫

從圖片中提取主題顏色,取決于圖片顏色本身的組成,一般選取顏色對比分明的圖片效果較好,同時因為組成顏色的像素一般遠超過聚類數(shù),會在每個聚類中選取特征色作為主題色的組成,因此主題色的組成會根據(jù)聚類數(shù)的不同而不同。當(dāng)主題色提取完成以后,可以從中選取具有對比強烈的顏色進行繪圖!

如何實現(xiàn)呢?

In [14]:

import os

import matplotlib.pyplot as plt

import matplotlib as mpl

from sklearn.cluster importMiniBatchKMeans, KMeans

os.chdir(r"C:\Users\Pioneer\Desktop\color")

img = plt.imread("test.jpg")

img0 = img

img=img.reshape(img.shape[0]*img.shape[1],3)

p=KMeans(n_clusters=7)

p.fit_predict(img)

centroids=p.cluster_centers_ / 255

cmap=mpl.colors.ListedColormap(centroids)

l = centroids.tolist()

l.sort(key=lambda x:sum(x))# 將 RGB 轉(zhuǎn)為十六進制

def RGB_to_Hex(tmp):

rgb = [x * 255 for x in tmp] # 將RGB格式劃分開來

strs = '#'

for i in rgb:

num =int(i) # 將str轉(zhuǎn)int

strs += str(hex(num))[-2:].replace('x', '0').upper()

return strs

c = []

fori in l:

c.append(RGB_to_Hex(i))

# 圖像顯示

fig=plt.figure(figsize=(5,5)

rect1 = [0.1, 0.3, 0.8, 0.65]

ax1 = plt.axes(rect1)

plt.imshow(img1)

ax1.axis("off")

rect2 = [0.1, 0.05, 0.8, 0.2]

ax2 = plt.axes(rect2)

n = 7

lx = []

for i inrange(n):

lx.append((i*6,i*6+6))

ax2.broken_barh(lx, (6*(n-1)/2, 24), facecolors=c)

ax2.set_ylim(0, 6*n)

ax2.set_xlim(0, 6*n)

for j,k in zip(range(n),c):

x = j*6+3

y = 6*(n-1)/2-18

plt.text(x,y,k,fontsize=8,rotation=30,ha='center')

plt.axis("off")print(c)

['#2B1818', '#304158', '#914728', '#497EA9', '#DC8B2E', '#76CAED', '#D5CCA3']

參照以上方式,大師配色方法就學(xué)到手啦~對于我們文章的美觀度和準(zhǔn)確性將更進一部分的提升,誰說配色不重要呢?處女座該有的挑剔你千萬不要放過哦~

鹿明生物的知識小分享將與您常伴,歡迎關(guān)注鹿明生物公眾號,更多生信知識分享不停歇哦~

猜你還想看

END

總結(jié)

以上是生活随笔為你收集整理的python配色_python语言再次解决文章配色难题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。