為避免中文顯示出錯,需導(dǎo)入matplotlib.pylab庫

我們提供的服務(wù)有:成都做網(wǎng)站、網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、疊彩ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的疊彩網(wǎng)站制作公司
1.2.1 確定數(shù)據(jù)
1.2.2 創(chuàng)建畫布
1.2.3 添加標(biāo)題
1.2.4 添加x,y軸名稱
1.2.5 添加x,y軸范圍
1.2.6 添加x,y軸刻度
1.2.7 繪制曲線、圖例, 并保存圖片
保存圖片時,dpi為清晰度,數(shù)值越高越清晰。請注意,函數(shù)結(jié)尾處,必須加plt.show(),不然圖像不顯示。
繪制流程與繪制不含子圖的圖像一致,只需注意一點(diǎn):創(chuàng)建畫布。
合理調(diào)整figsize、dpi,可避免出現(xiàn)第一幅圖橫軸名稱與第二幅圖標(biāo)題相互遮蓋的現(xiàn)象.
2.2.1 rc參數(shù)類型
2.2.2 方法1:使用rcParams設(shè)置
2.2.3 方法2:plot內(nèi)設(shè)置
2.2.4 方法3:plot內(nèi)簡化設(shè)置
方法2中,線條形狀,linestyle可簡寫為ls;線條寬度,linewidth可簡寫為lw;線條顏色,color可簡寫為c,等等。
1、點(diǎn)擊鍵盤 win+r,打開運(yùn)行窗口。在運(yùn)行窗口中輸入“cmd",點(diǎn)擊enter鍵,打開windows命令行窗口。
2、在windows命令行窗口中,輸入“python”,點(diǎn)擊enter鍵,進(jìn)入python的命令交互窗口。
3、使用import語句,引入numpy模塊,并重命名為np。
4、使用函數(shù)np.array()創(chuàng)建矩陣一個矩陣A,其中z矩陣A是2x2的矩陣。
5、使用函數(shù)np.linalg.inv(A),求解矩陣A的逆矩陣。
6、使用函數(shù)np.array()創(chuàng)建矩陣一個矩陣B,其中矩陣B是3x3的矩陣。
第一步,定義一個變量n1并賦值為987,調(diào)用bin函數(shù)將n1轉(zhuǎn)換成二進(jìn)制,
第二步,再次定義一個變量n2并賦值一個長整型,使用bin函數(shù)轉(zhuǎn)換,第三步,如果傳入的參數(shù)是一個邏輯值或是一個字符串,使用bin函數(shù)返回什么結(jié)果,第四步,定義一個列表變量n4,并進(jìn)行賦值;然后調(diào)用bin函數(shù),結(jié)果發(fā)現(xiàn)出現(xiàn)了報(bào)錯,第五步,如果傳入的參數(shù)是一個負(fù)數(shù),使用bin函數(shù)轉(zhuǎn)換之后,對應(yīng)的結(jié)果也為負(fù)數(shù),第六步,定義變量n6,并進(jìn)行賦值為0,結(jié)果發(fā)現(xiàn)返回的值也是0,并且是二進(jìn)制數(shù),注意事項(xiàng)
注意python語言中的bin函數(shù)的用法
注意bin函數(shù)的傳入?yún)?shù)和返回值
答: 如下所示。
可利用opencv-Python接口,使用imread()函數(shù),那么導(dǎo)入名為example的圖片的例子如下所示。
import cv2
image = cv2.imread('./example.png')
也可以使用matplotlib.pyplot中的pyplot模塊,具體例子如下所示。
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
image = mpimg.imread('./example.png')
print image.shape
plt.imshow(image) #調(diào)用imshow函數(shù)
在這里只是說了兩種方法,希望能夠幫助到你。
PIL (Python Imaging Library)
Python圖像處理庫,該庫支持多種文件格式,提供強(qiáng)大的圖像處理功能。
PIL中最重要的類是Image類,該類在Image模塊中定義。
從文件加載圖像:
如果成功,這個函數(shù)返回一個Image對象。現(xiàn)在你可以使用該對象的屬性來探索文件的內(nèi)容。
format 屬性指定了圖像文件的格式,如果圖像不是從文件中加載的則為 None 。
size 屬性是一個2個元素的元組,包含圖像寬度和高度(像素)。
mode 屬性定義了像素格式,常用的像素格式為:“L” (luminance) - 灰度圖, “RGB” , “CMYK”。
如果文件打開失敗, 將拋出IOError異常。
一旦你擁有一個Image類的實(shí)例,你就可以用該類定義的方法操作圖像。比如:顯示
( show() 的標(biāo)準(zhǔn)實(shí)現(xiàn)不是很有效率,因?yàn)樗鼘D像保存到一個臨時文件,然后調(diào)用外部工具(比如系統(tǒng)的默認(rèn)圖片查看軟件)顯示圖像。該函數(shù)將是一個非常方便的調(diào)試和測試工具。)
接下來的部分展示了該庫提供的不同功能。
PIL支持多種圖像格式。從磁盤中讀取文件,只需使用 Image 模塊中的 open 函數(shù)。不需要提供文件的圖像格式。PIL庫將根據(jù)文件內(nèi)容自動檢測。
如果要保存到文件,使用 Image 模塊中的 save 函數(shù)。當(dāng)保存文件時,文件名很重要,除非指定格式,否則PIL庫將根據(jù)文件的擴(kuò)展名來決定使用哪種格式保存。
** 轉(zhuǎn)換文件到JPEG **
save 函數(shù)的第二個參數(shù)可以指定使用的文件格式。如果文件名中使用了一個非標(biāo)準(zhǔn)的擴(kuò)展名,則必須通過第二個參數(shù)來指定文件格式。
** 創(chuàng)建JPEG縮略圖 **
需要注意的是,PIL只有在需要的時候才加載像素?cái)?shù)據(jù)。當(dāng)你打開一個文件時,PIL只是讀取文件頭獲得文件格式、圖像模式、圖像大小等屬性,而像素?cái)?shù)據(jù)只有在需要的時候才會加載。
這意味著打開一個圖像文件是一個非常快的操作,不會受文件大小和壓縮算法類型的影響。
** 獲得圖像信息 **
Image 類提供了某些方法,可以操作圖像的子區(qū)域。提取圖像的某個子區(qū)域,使用 crop() 函數(shù)。
** 復(fù)制圖像的子區(qū)域 **
定義區(qū)域使用一個包含4個元素的元組,(left, upper, right, lower)。坐標(biāo)原點(diǎn)位于左上角。上面的例子提取的子區(qū)域包含300x300個像素。
該區(qū)域可以做接下來的處理然后再粘貼回去。
** 處理子區(qū)域然后粘貼回去 **
當(dāng)往回粘貼時,區(qū)域的大小必須和參數(shù)匹配。另外區(qū)域不能超出圖像的邊界。然而原圖像和區(qū)域的顏色模式無需匹配。區(qū)域會自動轉(zhuǎn)換。
** 滾動圖像 **
paste() 函數(shù)有個可選參數(shù),接受一個掩碼圖像。掩碼中255表示指定位置為不透明,0表示粘貼的圖像完全透明,中間的值表示不同級別的透明度。
PIL允許分別操作多通道圖像的每個通道,比如RGB圖像。 split() 函數(shù)創(chuàng)建一個圖像集合,每個圖像包含一個通道。 merge() 函數(shù)接受一個顏色模式和一個圖像元組,然后將它們合并為一個新的圖像。接下來的例子交換了一個RGB圖像的三個通道。
** 分離和合并圖像通道 **
對于單通道圖像, split() 函數(shù)返回圖像本身。如果想處理各個顏色通道,你可能需要先將圖像轉(zhuǎn)為RGB模式。
resize() 函數(shù)接受一個元組,指定圖像的新大小。
rotate() 函數(shù)接受一個角度值,逆時針旋轉(zhuǎn)。
** 基本幾何變換 **
圖像旋轉(zhuǎn)90度也可以使用 transpose() 函數(shù)。 transpose() 函數(shù)也可以水平或垂直翻轉(zhuǎn)圖像。
** transpose **
transpose() 和 rotate() 函數(shù)在性能和結(jié)果上沒有區(qū)別。
更通用的圖像變換函數(shù)為 transform() 。
PIL可以轉(zhuǎn)換圖像的像素模式。
** 轉(zhuǎn)換顏色模式 **
PIL庫支持從其他模式轉(zhuǎn)為“L”或“RGB”模式,其他模式之間轉(zhuǎn)換,則需要使用一個中間圖像,通常是“RGB”圖像。
ImageFilter 模塊包含多個預(yù)定義的圖像增強(qiáng)過濾器用于 filter() 函數(shù)。
** 應(yīng)用過濾器 **
point() 函數(shù)用于操作圖像的像素值。該函數(shù)通常需要傳入一個函數(shù)對象,用于操作圖像的每個像素:
** 應(yīng)用點(diǎn)操作 **
使用以上技術(shù)可以快速地對圖像像素應(yīng)用任何簡單的表達(dá)式。可以結(jié)合 point() 函數(shù)和 paste 函數(shù)修改圖像。
** 處理圖像的各個通道 **
注意用于創(chuàng)建掩碼圖像的語法:
Python計(jì)算邏輯表達(dá)式采用短路方式,即:如果and運(yùn)算符左側(cè)為false,就不再計(jì)算and右側(cè)的表達(dá)式,而且返回結(jié)果是表達(dá)式的結(jié)果。比如 a and b 如果a為false則返回a,如果a為true則返回b,詳見Python語法。
對于更多高級的圖像增強(qiáng)功能,可以使用 ImageEnhance 模塊中的類。
可以調(diào)整圖像對比度、亮度、色彩平衡、銳度等。
** 增強(qiáng)圖像 **
PIL庫包含對圖像序列(動畫格式)的基本支持。支持的序列格式包括 FLI/FLC 、 GIF 和一些實(shí)驗(yàn)性的格式。 TIFF 文件也可以包含多個幀。
當(dāng)打開一個序列文件時,PIL庫自動加載第一幀。你可以使用 seek() 函數(shù) tell() 函數(shù)在不同幀之間移動。
** 讀取序列 **
如例子中展示的,當(dāng)序列到達(dá)結(jié)尾時,將拋出EOFError異常。
注意當(dāng)前版本的庫中多數(shù)底層驅(qū)動只允許seek到下一幀。如果想回到前面的幀,只能重新打開圖像。
以下迭代器類允許在for語句中循環(huán)遍歷序列:
** 一個序列迭代器類 **
PIL庫包含一些函數(shù)用于將圖像、文本打印到Postscript打印機(jī)。以下是一個簡單的例子。
** 打印到Postscript **
如前所述,可以使用 open() 函數(shù)打開圖像文件,通常傳入一個文件名作為參數(shù):
如果打開成功,返回一個Image對象,否則拋出IOError異常。
也可以使用一個file-like object代替文件名(暫可以理解為文件句柄)。該對象必須實(shí)現(xiàn)read,seek,tell函數(shù),必須以二進(jìn)制模式打開。
** 從文件句柄打開圖像 **
如果從字符串?dāng)?shù)據(jù)中讀取圖像,使用StringIO類:
** 從字符串中讀取 **
如果圖像文件內(nèi)嵌在一個大文件里,比如 tar 文件中。可以使用ContainerIO或TarIO模塊來訪問。
** 從tar文檔中讀取 **
** 該小節(jié)不太理解,請參考原文 **
有些解碼器允許當(dāng)讀取文件時操作圖像。通常用于在創(chuàng)建縮略圖時加速解碼(當(dāng)速度比質(zhì)量重要時)和輸出一個灰度圖到激光打印機(jī)時。
draft() 函數(shù)。
** Reading in draft mode **
輸出類似以下內(nèi)容:
注意結(jié)果圖像可能不會和請求的模式和大小匹配。如果要確保圖像不大于指定的大小,請使用 thumbnail 函數(shù)。
Python2.7 教程 PIL
Python 之 使用 PIL 庫做圖像處理
來自
當(dāng)前名稱:python圖片函數(shù),用Python畫函數(shù)圖像
當(dāng)前鏈接:http://chinadenli.net/article34/dsshsse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、企業(yè)網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)、App開發(fā)、標(biāo)簽優(yōu)化、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)