python顏色函數(shù) python設(shè)置顏色的函數(shù)

python有多少內(nèi)置函數(shù)

Python內(nèi)置函數(shù)有很多,為大家推薦5個(gè)神仙級(jí)的內(nèi)置函數(shù):

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、網(wǎng)絡(luò)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、岳陽網(wǎng)站維護(hù)、網(wǎng)站推廣。

(1)Lambda函數(shù)

用于創(chuàng)建匿名函數(shù),即沒有名稱的函數(shù)。它只是一個(gè)表達(dá)式,函數(shù)體比def簡(jiǎn)單很多。當(dāng)我們需要?jiǎng)?chuàng)建一個(gè)函數(shù)來執(zhí)行單個(gè)操作并且可以在一行中編寫時(shí),就可以用到匿名函數(shù)了。

Lamdba的主體是一個(gè)表達(dá)式,而不是一個(gè)代碼塊。僅僅能在lambda表達(dá)式中封裝有限的邏輯進(jìn)去。

利用Lamdba函數(shù),往往可以將代碼簡(jiǎn)化許多。

(2)Map函數(shù)

會(huì)將一個(gè)函數(shù)映射到一個(gè)輸入列表的所有元素上,比如我們先創(chuàng)建了一個(gè)函數(shù)來返回一個(gè)大寫的輸入單詞,然后將此函數(shù)應(yīng)有到列表colors中的所有元素。

我們還可以使用匿名函數(shù)lamdba來配合map函數(shù),這樣可以更加精簡(jiǎn)。

(3)Reduce函數(shù)

當(dāng)需要對(duì)一個(gè)列表進(jìn)行一些計(jì)算并返回結(jié)果時(shí),reduce()是個(gè)非常有用的函數(shù)。舉個(gè)例子,當(dāng)需要計(jì)算一個(gè)整數(shù)列表所有元素的乘積時(shí),即可使用reduce函數(shù)實(shí)現(xiàn)。

它與函數(shù)的最大的區(qū)別就是,reduce()里的映射函數(shù)(function)接收兩個(gè)參數(shù),而map接收一個(gè)參數(shù)。

(4)enumerate函數(shù)

用于將一個(gè)可遍歷的數(shù)據(jù)對(duì)象(如列表、元組或字符串)組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在for循環(huán)當(dāng)中。

它的兩個(gè)參數(shù),一個(gè)是序列、迭代器或其他支持迭代對(duì)象;另一個(gè)是下標(biāo)起始位置,默認(rèn)情況從0開始,也可以自定義計(jì)數(shù)器的起始編號(hào)。

(5)Zip函數(shù)

用于將可迭代的對(duì)象作為參數(shù),將對(duì)象中對(duì)應(yīng)的元素打包成一個(gè)個(gè)元組,然后返回由這些元組組成的列表

當(dāng)我們使用zip()函數(shù)時(shí),如果各個(gè)迭代器的元素個(gè)數(shù)不一致,則返回列表長(zhǎng)度與最短的對(duì)象相同。

python matplotlib.pyplot.imshow 函數(shù)畫二維顏色圖

matplotlib.pyplot.imshow(X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, *, filternorm=True, filterrad=4.0, resample=None, url=None, data=None, **kwargs)

From:

改以下參數(shù)可以對(duì)圖片效果進(jìn)行調(diào)整:

舉個(gè)栗子:

python使用pil獲取圖層中出現(xiàn)次數(shù)最多的顏色值

這里分享下python,使用pil獲取圖層中出現(xiàn)次數(shù)最多顏色值的方法。

設(shè)備:magicbook

系統(tǒng):Windows 11

軟件:python2014

1、首先打開pycharm開發(fā)工具,創(chuàng)建python項(xiàng)目,然后新建python文件。

2、定義函數(shù)countNum,傳入?yún)?shù)amn;然后使用字典,獲取字符串中的字符,統(tǒng)計(jì)出現(xiàn)的次數(shù)。

3、定義一個(gè)字符串變量cmn,然后調(diào)用函數(shù)countNum,傳入cmn,然后將返回的值給變量bmn,并打印。

4、保存代碼并運(yùn)行python文件,查看控制臺(tái)打印結(jié)果,如下圖所示就完成了。

python matplotlib 圖像可視化

Python畫圖之總結(jié)待整理

Python Data Visualizations

Seaborn 庫:

Python Seaborn 教程:

matplotlib: plotting with Python

matplotlib: plotting with Python-github

python-data-visualization-course

Interactive Web Plotting for Python

Interactive Web Plotting for Python-github

CSDN-markdown編輯器語法——字體、字號(hào)與顏色

%matplotlib inline

%matplotlib notebook

Need to use either

or

Only one in each notebook! using inline will just sent png images to browser, using notebook will provide interactivity and allow updating old figures. With notebook you need to make sure to create a new figure before plotting, otherwise the last one will be updated!

還有簡(jiǎn)便的 plt.close('all') 關(guān)閉所有圖,不用管 fig 號(hào)碼

Some plots from these tutorials:

調(diào)整名字和間隔

設(shè)置不同名字和位置

調(diào)整坐標(biāo)軸

參數(shù)loc='upper right'

表示圖例將添加在圖中的右上角.

調(diào)整位置和名稱

最后我們得到帶有圖例信息的圖片.

移動(dòng)坐標(biāo)

然后我們挪動(dòng)坐標(biāo)軸的位置.

然后標(biāo)注出點(diǎn)(x0, y0)的位置信息. 用plt.plot([x0, x0,], [0, y0,], 'k--', linewidth=2.5)

畫出一條垂直于x軸的虛線.

添加注釋 annotate

接下來我們就對(duì)(x0, y0)這個(gè)點(diǎn)進(jìn)行標(biāo)注.

其中參數(shù)xycoords='data'

是說基于數(shù)據(jù)的值來選位置,xytext=(+30, -30)

和textcoords='offset points'

對(duì)于標(biāo)注位置的描述 和 xy 偏差值,arrowprops

是對(duì)圖中箭頭類型的一些設(shè)置.

添加注釋 text

其中-3.7, 3,

是選取text的位置, 空格需要用到轉(zhuǎn)字符

,fontdict

設(shè)置文本字體.

生成圖形

當(dāng)圖片中的內(nèi)容較多,相互遮蓋時(shí),我們可以通過設(shè)置相關(guān)內(nèi)容的透明度來使圖片更易于觀察,也即是通過本節(jié)中的bbox

參數(shù)設(shè)置來調(diào)節(jié)圖像信息.

首先參考之前的例子, 我們先繪制圖像基本信息:

調(diào)整坐標(biāo)

然后對(duì)被遮擋的圖像調(diào)節(jié)相關(guān)透明度,本例中設(shè)置 x軸 和 y軸 的刻度數(shù)字進(jìn)行透明度設(shè)置

其中l(wèi)abel.set_fontsize(12)重新調(diào)節(jié)字體大小,bbox設(shè)置目的內(nèi)容的透明度相關(guān)參,facecolor調(diào)節(jié) box 前景色,edgecolor 設(shè)置邊框, 本處設(shè)置邊框?yàn)闊o,alpha設(shè)置透明度. 最終結(jié)果如下:

散點(diǎn)圖

首先,先引入matplotlib.pyplot簡(jiǎn)寫作plt,再引入模塊numpy用來產(chǎn)生一些隨機(jī)數(shù)據(jù)。生成1024個(gè)呈標(biāo)準(zhǔn)正態(tài)分布的二維數(shù)據(jù)組 (平均數(shù)是0,方差為1) 作為一個(gè)數(shù)據(jù)集,并圖像化這個(gè)數(shù)據(jù)集。每一個(gè)點(diǎn)的顏色值用T來表示:

數(shù)據(jù)集生成完畢,現(xiàn)在來用scatterplot這個(gè)點(diǎn)集,鼠標(biāo)點(diǎn)上去,可以看到這個(gè)函數(shù)的各個(gè)parameter的描述,如下圖:

輸入X和Y作為location,size=75,顏色為T,color map用默認(rèn)值,透明度alpha 為 50%。 x軸顯示范圍定位(-1.5,1.5),并用xtick()函數(shù)來隱藏x坐標(biāo)軸,y軸同理:

今天的柱狀圖分成上下兩部分,每一個(gè)柱體上都有相應(yīng)的數(shù)值標(biāo)注,并且取消坐標(biāo)軸的顯示。

生成基本圖形

向上向下分別生成12個(gè)數(shù)據(jù),X為 0 到 11 的整數(shù) ,Y是相應(yīng)的均勻分布的隨機(jī)數(shù)據(jù)。使用的函數(shù)是plt.bar

,參數(shù)為X和Y:

這樣我們就生成了下圖所示的柱狀圖基本框架:

現(xiàn)在的結(jié)果呈現(xiàn):

接下來我們用函數(shù)plt.text分別在柱體上方(下方)加上數(shù)值,用%.2f保留兩位小數(shù),橫向居中對(duì)齊ha='center',縱向底部(頂部)對(duì)齊va='bottom':

最終的結(jié)果就像開始一樣:

畫等高線

數(shù)據(jù)集即三維點(diǎn) (x,y) 和對(duì)應(yīng)的高度值,共有256個(gè)點(diǎn)。高度值使用一個(gè) height function f(x,y) 生成。 x, y 分別是在區(qū)間 [-3,3] 中均勻分布的256個(gè)值,并用meshgrid在二維平面中將每一個(gè)x和每一個(gè)y分別對(duì)應(yīng)起來,編織成柵格:

接下來進(jìn)行顏色填充。使用函數(shù)plt.contourf把顏色加進(jìn)去,fill, 位置參數(shù)分別為:X, Y, f(X,Y)。透明度0.75,并將 f(X,Y) 的值對(duì)應(yīng)到color map的暖色組中尋找對(duì)應(yīng)顏色。8代表等高線的個(gè)數(shù)。

接下來進(jìn)行等高線繪制。使用plt.contour函數(shù)劃線。位置參數(shù)為:X, Y, f(X,Y)。顏色選黑色,線條寬度選0.5。現(xiàn)在的結(jié)果如下圖所示,只有顏色和線條,還沒有數(shù)值Label:

添加高度數(shù)字

其中,8代表等高線的密集程度,這里被分為10個(gè)部分。如果是0,則圖像被一分為二。

最后加入Label,inline控制是否將Label畫在線里面,字體大小為10。并將坐標(biāo)軸隱藏:

隨機(jī)矩陣畫圖

這一節(jié)我們講解怎樣在matplotlib中打印出圖像。這里我們打印出的是純粹的數(shù)字,而非自然圖像。 我們今天用這樣 3x3 的 2D-array 來表示點(diǎn)的顏色,每一個(gè)點(diǎn)就是一個(gè)pixel。

colorbar

下面我們添加一個(gè)colorbar ,其中我們添加一個(gè)shrink參數(shù),使colorbar的長(zhǎng)度變短為原來的92%:

3D

首先在進(jìn)行 3D Plot 時(shí)除了導(dǎo)入 matplotlib ,還要額外添加一個(gè)模塊,即 Axes 3D 3D 坐標(biāo)軸顯示:

之后要先定義一個(gè)圖像窗口,在窗口上添加3D坐標(biāo)軸,顯示成下圖:

接下來給進(jìn) X 和 Y 值,并將 X 和 Y 編織成柵格。每一個(gè)(X, Y)點(diǎn)對(duì)應(yīng)的高度值我們用下面這個(gè)函數(shù)來計(jì)算。

其中,rstride 和 cstride 分別代表 row 和 column 的跨度。

下面兩個(gè)圖分別是跨度為1 和 5 的效果:

投影

下面添加 XY 平面的等高線:

如果 zdir 選擇了x,那么效果將會(huì)是對(duì)于 XZ 平面的投影,效果如下

怎么在python中使用cv2.cvtcolor

注意,現(xiàn)在OpenCV for Python就是通過NumPy進(jìn)行綁定的。所以在使用時(shí)必須掌握一些NumPy的相關(guān)知識(shí)!

圖像就是一個(gè)矩陣,在OpenCV for Python中,圖像就是NumPy中的數(shù)組!

如果讀取圖像首先要導(dǎo)入OpenCV包,方法為:

import?cv2

emptyImage3=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)??

#emptyImage3[...]=0

怎樣使用Python圖像處理

Python圖像處理是一種簡(jiǎn)單易學(xué),功能強(qiáng)大的解釋型編程語言,它有簡(jiǎn)潔明了的語法,高效率的高層數(shù)據(jù)結(jié)構(gòu),能夠簡(jiǎn)單而有效地實(shí)現(xiàn)面向?qū)ο缶幊?,下文進(jìn)行對(duì)Python圖像處理進(jìn)行說明。

當(dāng)然,首先要感謝“戀花蝶”,是他的文章“用Python圖像處理 ” 幫我堅(jiān)定了用Python和PIL解決問題的想法,對(duì)于PIL的一些介紹和基本操作,可以看看這篇文章。我這里主要是介紹點(diǎn)我在使用過程中的經(jīng)驗(yàn)。

PIL可以對(duì)圖像的顏色進(jìn)行轉(zhuǎn)換,并支持諸如24位彩色、8位灰度圖和二值圖等模式,簡(jiǎn)單的轉(zhuǎn)換可以通過Image.convert(mode)函數(shù)完 成,其中mode表示輸出的顏色模式。例如''L''表示灰度,''1''表示二值圖模式等。

但是利用convert函數(shù)將灰度圖轉(zhuǎn)換為二值圖時(shí),是采用固定的閾 值127來實(shí)現(xiàn)的,即灰度高于127的像素值為1,而灰度低于127的像素值為0。為了能夠通過自定義的閾值實(shí)現(xiàn)灰度圖到二值圖的轉(zhuǎn)換,就要用到 Image.point函數(shù)。

深度剖析Python語法功能

深度說明Python應(yīng)用程序特點(diǎn)

對(duì)Python數(shù)據(jù)庫進(jìn)行學(xué)習(xí)研究

Python開發(fā)人員對(duì)Python經(jīng)驗(yàn)之談

對(duì)Python動(dòng)態(tài)類型語言解析

Image.point函數(shù)有多種形式,這里只討論Image.point(table, mode),利用該函數(shù)可以通過查表的方式實(shí)現(xiàn)像素顏色的模式轉(zhuǎn)換。其中table為顏色轉(zhuǎn)換過程中的映射表,每個(gè)顏色通道應(yīng)當(dāng)有256個(gè)元素,而 mode表示所輸出的顏色模式,同樣的,''L''表示灰度,''1''表示二值圖模式。

可見,轉(zhuǎn)換過程的關(guān)鍵在于設(shè)計(jì)映射表,如果只是需要一個(gè)簡(jiǎn)單的箝位值,可以將table中高于或低于箝位值的元素分別設(shè)為1與0。當(dāng)然,由于這里的table并沒有什么特殊要求,所以可以通過對(duì)元素的特殊設(shè)定實(shí)現(xiàn)(0, 255)范圍內(nèi),任意需要的一對(duì)一映射關(guān)系。

示例代碼如下:

import Image # load a color image im = Image.open(''fun.jpg'') # convert to grey level image Lim = im.convert(''L'') Lim.save(''fun_Level.jpg'') # setup a converting table with constant threshold threshold = 80 table = [] for i in range(256): if i threshold: table.append(0) else: table.append(1) # convert to binary image by the table bim = Lim.point(table, ''1'') bim.save(''fun_binary.jpg'')

IT部分通常要完成的任務(wù)相當(dāng)繁重但支撐這些工作的資源卻很少,這已經(jīng)成為公開的秘密。任何承諾提高編碼效率、降低軟件總成本的IT解決方案都應(yīng)該進(jìn)行 周到的考慮。Python圖像處理所具有的一個(gè)顯著優(yōu)勢(shì)就是可以在企業(yè)的軟件創(chuàng)建和維護(hù)階段節(jié)約大量資金,而這兩個(gè)階段的軟件成本占到了軟件整個(gè)生命周期中總成本 的50%到95%。

Python清晰可讀的語法使得軟件代碼具有異乎尋常的易讀性,甚至對(duì)那些不是最初接觸和開發(fā)原始項(xiàng)目的程序員都 能具有這樣的強(qiáng)烈感覺。雖然某些程序員反對(duì)在Python代碼中大量使用空格。

不過,幾乎人人都承認(rèn)Python圖像處理的可讀性遠(yuǎn)勝于C或者Java,后兩 者都采用了專門的字符標(biāo)記代碼塊結(jié)構(gòu)、循環(huán)、函數(shù)以及其他編程結(jié)構(gòu)的開始和結(jié)束。提倡Python的人還宣稱,采用這些字符可能會(huì)產(chǎn)生顯著的編程風(fēng)格差 異,使得那些負(fù)責(zé)維護(hù)代碼的人遭遇代碼可讀性方面的困難。轉(zhuǎn)載

網(wǎng)站標(biāo)題:python顏色函數(shù) python設(shè)置顏色的函數(shù)
URL地址:http://muchs.cn/article32/hgigsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)營(yíng)銷型網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站品牌網(wǎng)站制作、ChatGPT網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)